<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 5.4.0">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/%E8%BF%AA.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/%E8%BF%AA.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"zhengyidi.github.io","root":"/","scheme":"Pisces","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":true,"show_result":"flat","style":null},"back2top":{"enable":true,"sidebar":true,"scrollpercent":true},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":true,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},"path":"search.xml"};
  </script>

  <meta name="description" content="设计模式 - 创建型 - 单例模式">
<meta property="og:type" content="article">
<meta property="og:title" content="08.单例模式">
<meta property="og:url" content="https://zhengyidi.github.io/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/08.%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/index.html">
<meta property="og:site_name" content="Zhengyidi&#96;s 学习记录">
<meta property="og:description" content="设计模式 - 创建型 - 单例模式">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2021-07-11T00:00:00.000Z">
<meta property="article:modified_time" content="2021-11-13T14:58:22.502Z">
<meta property="article:author" content="zhengyidi">
<meta property="article:tag" content="设计模式">
<meta name="twitter:card" content="summary">

<link rel="canonical" href="https://zhengyidi.github.io/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/08.%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : false,
    isPost : true,
    lang   : 'zh-CN'
  };
</script>

  <title>08.单例模式 | Zhengyidi`s 学习记录</title>
  






  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

<link rel="alternate" href="/atom.xml" title="Zhengyidi`s 学习记录" type="application/atom+xml">
</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">Zhengyidi`s 学习记录</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
      <p class="site-subtitle" itemprop="description">休对故人思故国，且将新火试新茶。诗酒趁年华。</p>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
        <i class="fa fa-search fa-fw fa-lg"></i>
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-fw fa-home"></i>首页</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-fw fa-tags"></i>标签</a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-fw fa-th"></i>分类</a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>归档</a>

  </li>
      <li class="menu-item menu-item-search">
        <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
        </a>
      </li>
  </ul>
</nav>



  <div class="search-pop-overlay">
    <div class="popup search-popup">
        <div class="search-header">
  <span class="search-icon">
    <i class="fa fa-search"></i>
  </span>
  <div class="search-input-container">
    <input autocomplete="off" autocapitalize="off"
           placeholder="搜索..." spellcheck="false"
           type="search" class="search-input">
  </div>
  <span class="popup-btn-close">
    <i class="fa fa-times-circle"></i>
  </span>
</div>
<div id="search-result">
  <div id="no-result">
    <i class="fa fa-spinner fa-pulse fa-5x fa-fw"></i>
  </div>
</div>

    </div>
  </div>

</div>
    </header>

    


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content post posts-expand">
            

    
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://zhengyidi.github.io/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/08.%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="zhengyidi">
      <meta itemprop="description" content="">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="Zhengyidi`s 学习记录">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          08.单例模式
        </h1>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2021-07-11 00:00:00" itemprop="dateCreated datePublished" datetime="2021-07-11T00:00:00+00:00">2021-07-11</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2021-11-13 14:58:22" itemprop="dateModified" datetime="2021-11-13T14:58:22+00:00">2021-11-13</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" itemprop="url" rel="index"><span itemprop="name">设计模式</span></a>
                </span>
            </span>

          
            <div class="post-description">设计模式 - 创建型 - 单例模式</div>

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
        <div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="Oh, this is an invalid password. Check and try again, please." data-whm="OOPS, these decrypted content may changed, but you can still have a look.">
  <script id="hbeData" type="hbeData" data-hmacdigest="cc8d8cdc5fed34e39f5c8713aebebd2d81ee2844b5236cafe6b973cc59482cc5">22064b17c03cb0c0e58c99349b6889d0b31470871e725085fde7c8feed9af7ef420ce69a43b3dd77980ac4bb53c0d7d9fbf5a2c79778201321874f1aa52aeb2c29f24a9d7f422f789d0ba5fcdd6b8f0226776dd6e3ee261329919d0aaab78995c2ccbccb473943bd3e7bdd3904ba6ce737d5816ae3d7377d388616fcb32f1f1a535729b09a231c0a8a48d874dd7f1415425bdc81a2a5608d8f57b21310f18dee2ea3d769e21e943da373aedbf942106820d7110a4a498cd04362131b752ee2131f304827724e0cd61306d98c4c65a3184e29260c4b35c10a1877abe6de0c431c09d2876810c3d06bace59d9fc8a9998715a1dc3fe09599c0bc120019fdfe2800df1e1adfb6d1017fc7a8531226479c93ea3349d841dabc9afea7b081897891e81fa9ad564e9ac74417013e54a4006eaa2b1b0bc853d1371f4a710f1b2ec5e5004280ed9912c262a31b7889e79d53b0ab23008d6491cd648f9c940bed1b0e1901df9119f5e174318a4899f86f6a93d63d9663db559130e9017bdaf2df397cda26724839deb675f5fab7cd5aedc14c7f20afdf37c0374b9ab8d71a943de66856749ae81e1616067fd69a0a5ae447506414fd56ea7619a9a6613f6fa820629d1e7ae7540a04c93fc236c61d59983b24247df84ece511c6ec48fa2aa9cd4ea2cd66f29ce8cf0e66ecf0252c4e03755adb5e03aea99458e70193991e92d723b376fc931d2743fd4fda2eff78ac3c25d79ccf939af5e446438ccbf2413e8f64499332b61e3eb13e490805d3b8878011833a438ea4991ee76d395759f1f8478443e64b913947dfb193a74af4f96e4a6f18c3ea041c7dbd7ace5d8b85823e7aac8f9771bd4d0bd28e8bd82a727f617fbf7e1cfbc92572372472ce2dddc80cfd44680b702c4f52d7b6f0991c3259c880ddeb985245277629b79eded26e66d142073f40da98530b72f02de8785b2e4833de6ea34a45e4205b36817cb4a1fd614e94f49a6faa09e46f5b72b0f9e20e83303ae1018e31ce8ded48fb76ca3a685cdb4afa0b6d4817b8b98272b56f8f2b86c5ecba52392b93b078307a3902a45ca54da75d1b6f65ffe39ae03bd0a3df51328721fa4cb091c260bee341fc9e075b8005278209526a0733f99a9468d8d317d86af70c6cd26b9f2a51aff1db88e94f978229b88ae19d4727bc89fb629824ca968f2fd210ba8dd7f9496074a2007d97ec041133895162a25745c916ae0862a327beadd261bedb4abf63942383d478ab2f54b784b28e431b85a5dff6cdd3ff3950f0093df5d69f857e67ff874e42cc731d059337e7e9be88037260427c385fe0178287b62e0d7d3dff0c81a567bba7dab001ae66d76ff9577f6f76b7063330f5e203766ddf2ca5ab6611986847d0a99f7bf7eaf1839a508399e2b5c4edb452f3506932ea7697c4c6a48320fa6df329359867f9409f4a4dc70906d2449b197ba4e632b6dbda88c2ea6e156f058519f6a54c5c0846a72b2b8b7398c85ce36292b269214bd066f98537f0f081eb2799d4dbf2744dac78e51ae2b208a46229d23a03732fe77effc76c936945835d203add7643d7e960ff67ab263d227bf0838835878dc578b1333f54e1461edc2317e19e4535512fcb80dbb162a873c1a4d6b3732cea5a943bf3beebc932b6764c5f90a3089d0a33d4c7604003b19b5ed7870cd2aa137e82daf3719f9312732efa2baab314d455e4ec2e2a17234b0cd401400e060f2d7f318b546531fffdfff730551cf8258aef3eb6e6dc154687bc08b01c73132c2d3d550c34fc3060f709f611b4db580a0c579914063f271efd00d56b2fbee3f98994de29f3e0fb0a9f11a6d4b1a8ecacfcaf10af86a6c85250ae520caa89b12e7e8e3c9dd0d1f5ee7a597de14b2a72105805a6a2f15c5eb2302fd9b2e361f65056e538504b24edfd4b6bf9813ee2f7a1288c888f0b0f773ecff571ad99392b21b2df07f2975be7cce5e7e10d9cf43221321f9d5a4034d6b856efd60882f74ec71c61d7964934be9b362259782408e45f46a2c326b32f2bbb3930987d92b77afe745c31179b7f8179e8fbb00e315660da9fee1ee572117cac9b27994b8f9216e3e69f043e71b8a7a54c41cc0655820c68d3918f2cfc8157124dcd6eb95c18d45ac04fcdf76f9086501c2bae717051024fdcd17ef870f3f1b8f0d021a447e2df6c8e48dd7b9520e58846b9b33eeb2bf65091edd6aeaea03c9f3fbb107bc80ab4b8665723221904bd0b3f8ce89a5b31a4138ac92a2ff056d1012020738e6b7c1926fc7db4d44162e26852ae09abeb576d4af567a59f3f233ff4c4c5be67447a1d0cc883e51e70f2fafd84940e0611c027e3db0d720bf3a8b75da2ab4bec302cfb9b65b2a6b045ba0b73dcae82eff70f99aacf6ea582d0204dfd27d2c76ce96d44d98e1f55f3a5ebff99237ff4d27f451e9afd03e4d38c4b730f03a09a6be3815322ced1c51488361b210d927a6546f35f79a2e959187c4c1c8b3c4f7375cf1a7e5d7bcfc12536fdfaebd713baf328c6b58f611a7245351602ca4bc22e42e36dedec7f71a52fe2e4bc38a6d8dd2ce5b7306b424786d93c20e19a76ee412be587bbe62ee886906716caba0ce1ca52facd2c0a45c4525d0db31fb1bf79efe68dee3370fac4d08ec9d1b7dfc1cbbd7db4e03163e83df2a6eda53b870a8b4ec5d0927f1a2df1164bf9d927fa117c534f645222ad972e1d6325d2e4d26d7094b9e26f158b0fb13d135fff1d13b53ee73158520976d7b6a38336f7c452bbb8d85a9d5c3c7b0ec0d1fa111c5b8bd5320114ed29616f3cf906685961bc2dc9f7a74055a7513459930e799fba4f03ad3266d6865dc585a65b25d58d036d4e123300ed586287ffcd966ba134ce1c9956623dea64bcf8529c6c2ef0828960d043769711a58138011bec385eee3c5c2f683d85907b588c71dfb6479b7fd6724c8bc12852f908141be8d9aad3b6048fc7fd21e650de8609bb5a3fc06abd68273bf5420fef58d7457edaee934664b9be7a67cc452471a49f8f5621799836e13e5579279fb5304cc480ab760ac1601b9867b5ce9f3a490110b01594f6a9d01a0c76365d06ed8380c1ffeb85ad96ee77567de6ad171b4efd71a2d62a4ae83337af47039ae03718c7c112a34613f2b57c3140c9cc75f01c8dc4f0e6d7fdbcd14a54ed65ef831380ef99ce9b4f1de06dd5287f78435e23d11d00134ce16ce766d993303f38967e56183e69ca3a39da9105980d83c7edc4a1b436e04d53d11407d2ec2b5b25859041d50c7e8780b7046621bd02558ea43e9ff5b8fef59aa496e678fab7a538ece5f7c4835adcd169e3fb8f90d3f10b7159062a1245bc706ff2908bf9da32a5d97fc3554fac576e3e4a859e2bd3881b59ee9f778441646178457f79b4f4d7df943905d1ed8f0bfb0eece8d3ae4218dd249cb080146265edc9091307bdc32cc371106fa9c499e128a73b5300de91f3384630345d10df6eb413ff83051f60c9924f20706c66fcd2a211def2818ace0ea2cced400bdfc991a14e0e4bdbf8fde80e9955786ea4a88899afa3a0f5978e798fe7b34da9ddfea9700b87dfa0be19e760b28f54fed7abd26c256cb5b046ecd3920193144bfe1c74df07a5eed852546034e142123de061c4fb010e73d274895e69e4d6061d52a6ac56081c4b056356afe9cb610cf93d88ad72d3b2e5fa810ba25b13d49c290c90e33a66a9ee86a8669bca14cb18559e9c1d4dff074734269a2e8bf047a7216ccf1a017b77a9b0b80b3e7c3d0f32c479e7d18b44c57a856e28ea0467c2605a66fa1a410cc56246610eb1812fe17866102429a69a38c9d942e206f03eb8014bcf6abc083b740c28373e06df7d4525f78c8032131615ade8cbb1bec28d574645e6f9bf121272bc1b2c3da08b2012d6b605d6634255894e0eb897f379b198d30769beae7e5624d5029c63bb294710422ea3d33b1def15226961e029b8879accf55efa456960b08385f0de54a248916656fa8ac689452cfafec331e682b2fff27e8b73c6ece1f23b05d7b4b3c0c02134e5afa081c2ab876c8205a9f4831d66f31c09b4baea75e55184a91d1e3aa24e68a94c1c11df9c0ccbba25abe35ac0a820a5db311391c00cbcd7552e0f9eeedb51e69d68622039507af765a1de29e29e823d48dd5be842b897581d5542c93df7900c221d7257d0ff4243b60559cb39004a21cc1c75d7ee586a325506439b60c306acd8105164e2c6c4ff5ebb6b7228213cdf1696429319d896251615efaa3f3c342a70f0f08b0e5d11d14f27947f55d89f917472905ba9ccc38d71e48ef08108ee73ab5926e0a0209cdc63f880a3690fceada62f0c5951a6173382e7c47720124398708de93e8f037bb6e5cad7c718fea0418c17ee1545ba45521ab8fb35e11f4fea2e9b72a27983d0b5ad57e57ad70e53b0fb81421a03a9bd66ff40fa6314648aaf18a5bff7c8ffc5d5f34c48b8a9ec3173d4a18b9628960794ad89881eefd441a3b54ab5b18bba7ef3bf86af20d5a54c5196ac463117f6e49160c457d07ac82b0a9798108fdcc43550203062b43fc5e9bdc4e320563a4e64c7c1e4457303674458e314ed9c847551ac34cc6c2636eb15c195c758ef60d3ccae0b8bd1b75181c1d53821914d27217703029bfdebfbb5b511945f84f3b1e5adb7e0d9b820d49bcb2caf34cc1eced0342f3e3aa3cca78e190d17aa6a1f3c0cef976371c100146bda397a5024c982ac82a3d83fd1b01cba9a06af4849c15bb15a5e80ab60ac6bcabfe18c4f92ee06f0c26beb8b2c512f5ce9381caaf97ab60cda0ea5486fdaa55c62c77669d7f09af4c9963662372c2a7630e2b59ac895928c059ab4d2f4f6ce0c02a3bed59a9fc6050b63ae552c15758a52c50a48ad7cf266ffbba0d5d07356dc18282fd4930fb7fd76fdc5e80456e2b71d4d503235a196e5e9f0b60941c8c1062fc4e4fc30c53b5851f78d0174b53da4063944771b9a2cd2e13d76fd7c30c18a2160831f5f70bec9bda6b259989e0431e8016331d4e222452114fb296eebd6b0e61888ccc41cc3ca5b4887a0f8d49f07244831dfaab499330be4a7f20278d2e5bcf40f7bf451cd12015de2a29fe36775b3fb2b74076b980876ced621d305205a032c975c844a8777f01a8d702398f099a1d65708d0fed1fdff9bceb9a1da3f1db2ace6c90d639f71c89ae4d7583fabdf960a9d2e5b26a0e4a625cac7e12f9fd714cc3def49b2bfd9b89775fbd67868432f70af56b59f768c9454dbae0842834683a5c43fe1d9592139fa2477b596d94bdc3b4cd933186f4f82bdd2b992290b0c240a982c105736dee28e9e63742c44d8b87ee1543072b18893cffade1d4825cfb051a200cab34381040ec6e3eddcf2a4b11cf4024bf4035809d09556f7c4ab27f6c321b70e1060b514ce6b3263df65641fa4a04f8b4114891786783f21ff1f1955e30c088c1aaa13964dbdc446c66aab7cf7926f14082ec0ab17b53508c3360e786d55ff307e4ce979093b0765083bd1577d0d639fb63a65b27cbed7a32778a7c5bba8725cf6d43b705b5c2ee291e836d6c0ddaedabf3296910bb1184a891ed6b8254330b063e8e7369a68f83a03a06c9424242040b3ac1d33e152847724db4ae94bb4746fcb92642f4194759034f29e5d5286c129be7faa39edfe9af22350e19a59aafa7817a115a80dbd8bb56dda33f042ea8449630afa71b539e11589405438b99e0fe791feabe0497eadce82fe9c44de0bed932abcda95b5cbced67ee41664b4551517290e70fffd18b7de2fcf5d24d5a5ccfec215efba7fdf72c95780762332fce2e7aef17932a861bc9b247d2aaf37ac77d23a835fdc53ad34a90e165aee0f9185a717b3760c8e2aeeddc594672bbf5513dec3af286725110394b7269991b5cacaaddaf8d64f0ec979dc57fb01ebd799d4855847573a0dcfdfb8a0b0faba2f023ae33e196587136542ebfb3209b60661c5222695446687765413e583693aaca050b579207fedb4739fdd967251218878cabafc8b55fb7278b808d8649132e7124af77c15225463ba544db2bcf7723bc3442b3479a7852d0091c4aa173d38197323b9c17db1252e8b04645fb54a0c43483f478cac73794090e29bc2d56057a5975d8f151f7d8128cceffa91ab7d1791ed36e0b71e9ae789ba51500e48199f764c84f2fdf5b34d124db4409ed0cf551017bb5d1ee8467361eb1eb8300f34a8fbfc49f4d8645d5b3fbc4871af0663a7d109dfad57cefb9029aa9b616d59592397614e37bfe0917c9500fca004494b421cf165523aea2ffd2459d23862afd3609152e1ccaed46d34dc1a21c6d09d0164bebb887e903f6270c626b86cfdb3bd8bc09473547204052d4dd951b1abed7b504e875055c6510c6ee1098bfc10bf90ab9b962bf0998d06040c78e29f91c667f5bb1d13c24334a7d29e507927dd943b0060ccaf9f58122aa55e85d805687c940b0377866489a0254e63267e95576b5e313ec99285f1e1da70fe458c49eb1319131a48ac228f771b44eb7ea142e6b66413cc5e780b463da6dd0eb49df011d147a35fad3d75b938b1887e8c1959eff08ebc9ec6f5495ed17690c65183bd87236a9410103d9ee276cf0f4e25193766ce725ffca4893836a29e681fdf7a7ea6ac87dd59edcd4cff670fd773f8ce8c32c2fc4377813e13a5900dcd2632c69c9c8fe28f8bced0918652a3b25cb8d94116d802cc47c8e109ecc971e5c2a785cd95dd57561038904a42ec3a7f49af2657a5b332446f1a34699688e19ef476c014995a627ce108f8a3c19a24e99a78234a21e62af4d856a1dd5356c2468e4b1eccd6f9d235b2554c8d5d277de7f90047335de2d13eb99332a69f7f1bb4f50569f2c25dbb1a8355ef23d771fedd68f873b2fe39d64df0f8dba9cb038a783b69a00983b69f531775b2fcc10d28e1c5562bd77ea721599ed7bc351dc676583c5b2600eb190d1432a53cca6790a7dc37581648377ad3016e6dc05181151acf5c8786bb9e36620aca94a4046b4628056cc2e43b23dc706c755dda54dd06a0441a698952a41c91b19a78732239a89b256620013483c2bcaee84dd9a2431a05bde8256df7c888dd4b4f002a5ad8d3e1967daa470ff450ba61e22ddb26785a8956feb3129e192816c0635a5479c41bb769ab96bc8ed107bd7992d445c22677706ed3de2e8643064fcb4dec0bd6d8478e39bebda8f4790d239de94780786cdcaacbe68caf81d377fa7cdf21fc5118a242e4e9527bd24bf9371fb981844630de8ba8e22fa5dbb9329abbe210461a9ed5a35f47b5947b38a7882572bdb6dc8dc2ad11e21b1a164064d0f0d42c36778058a1142a80359f1326310f24956497d0785500e3c94623df9b09dea3fa51e2b5f8bfd199d17190c47526d77256057f1b29aeb261ff3e30e1a1b0f819b7e6c4038a16dedcb5db9b4109f9a1996b158ee298ec46034de20c2631cbac8572da3aec8d6af91ec7ca15618a06feaabf2a88b3cc656c45477d8e86ee7f1d322a57b66ccf153d3b616c0ea89f4987776b033f3a1852852609c1ec842f9cd45615e779c6129b8dd5249a1090092273de586ebfc64e3596e329e3a1efdcc00189dc314ef21ff24d2bf1cb3fa13cd4fec37f2c6ae7228d81db3a9f639722a2d6ee42984452c93f763ea284ed5f3fc790c31246d1722cbec53fcf49b3da66ed230d10f896852cecf2673e048e8eb2081e2af412ac71c618e66e6557b83942f8a9ec99fa3a557e4fba450591ae1f375ac7d3187526cef8affa03d64628a99bd78e956e37c89007adadb68765559b5af8ca6669c4dff29993b5e97c007ca6e4b6c3025c6e5509d48a50185b2ccb7bf36e4c1a1f002d4bd861c9603a9170158c2d5285f5fbb4a031fd1b036ac9731cbba0a8a8eecb091124f3f97bf0bf0630d3f7565def766dfb3374b8a3906d04f0508c2098bfef253c1bec8834533055c2a137d06d04165814f660cb5fad0e9666b1f7b4ed1d0cd430bf9faaaddf88a5661a31b6694b58234f8ee8822c487e7123e664ded4db98ba98e8afe238c4ed9ce6dd09b23710e9f1f0df1cd0d3974ad7739ff4b17e6c0fe10dbb208da434ead1f7fc526a976797e2f46daa10064d18940534d7581e69ffc24d6989e268bf80787c7e60032402185e1aadf8444ef1dbf697c5de40475fbf6ce45d838784680eba3b9f1073fc06a032e7cae5dbde5073a5ad7fb2e5d3bbae5da9767e690dd3d23b8f3b744d75bec3756cbd813851375e4dfff07ce98077a2256e63f226f56ddee3499e97df7ddd008b0c103abeb7271c2ada898aab04b0da9f1539665b5fe6d687ec1020693e3e9833e1958dfa4f5134581f2dc3bd6a929f2228d6e6a516375e219e29e9896687e293f29b99903dd71a107c97c57c752a3dccd4b8118a927538011580b783b4066bfa16f0c07d3b9e6a9f0740c32b36a34c6289bdc29f3b3ae8123dfc05f1569b1527deba69ff72140336fbeb619c7192fb92d37638f67507c4634272bef42593d8ccba2b105e5d555cd47dad88bb4f5c2d2c88040d7fe026d3614fe6f7eb2031db07af10390fe29e53ea0e69f264fff7f22f2df719d3f7a69083bc30b2cb49d24b2238d7a20342a81268d25e600e32a952f051f95f2de57d768465f1d6631807b584f5003255efb7bc46217abd9e00987c89aae9b6cb70362b5f482d4b5f4cd5ad16e81b893eace1c0d71ce666fb8f950d052595e2d93c900729401a53c88364009f722138305f29a79706e5f89391270f1c15a1f94a870b12ebd64f626a1047e9d2b68de783a0c96c214a62f3a31ed03d5681330d67a792325dda57faa648039beaf48c727fef58832e531907c3b76ca0471e1f998d468562e9f19a6c7a57fd2eaf16ffe620a6a248b08cbb2fae02f1b15997e318ae201dd7f2650b8ba1b080691fe2a5acbf40789c335b2c5eabfa9978d3c9ec520de67521d0cf118daa2a096ce51a4bd736533360ecb41eb612c2648b9ae4403895bec9ec0f114ed53018b97843b7c497d0f2db8ecc29acb9c251ff083f38018f9fc7ea7b5f79d7f45a061b18f7f6b36eacea2102e3fada760da62b3c36270d8034f5106bc33c9760b705675809557b8bec3e0fa174ba39050280fc9c1ad18ea5deffaa1ceeeb2e9f7a2d18b1476b36723d26699037851042a33ec1222c3d910f272bd1d1c1aa76b4ad6aa4c1cb7d35a8345e22f83eb7b94b129e75781bc61545036b429195b60efd9d862031748cf2b2c35a95a0217e335a18fb0519f5727d0f940407d95929adc467217f5632264d772e32df7b715189a8f1251d86d355601bf4c3c1620ba4ee99ecde9267b3c6ecf701968e2658c5976b9d54a6966d4fca6f4260c0b090c7d9a60bf8fb3ebbca83defbbb9f7a85d3c1a4314c547ec33da7d82ad07d472a6a9631e615a15d9bb235331e7c6380f2fbc064e03845dc68252460e88d6655ab9c1d283fa6a72de8538292f9f2096599a39ae3fa65a44987188aadb04f807b7aea6ccf8923f5dc5f1d6e875b591a35dbbd847a327cf2fac6fbb0ced7f0e70fabe68c1325af41ee122443706639c3036b7ffac27b94e36f3b1f5c468ebcf99c7e44399b62d37e141c22d0e5aabb2c157f6f400b8c9889b197e286e34c7f410abc1b74fc3e8647c4575375df96053cfcddbe1232a98d0a498788199ed84f1db607eab61ef0924aad11abd7d17f7da4a9358ad6d856d2f1e397dd558ebcc61d29a058c8cd52de101cd016970c1454417ea1cc813dbbe5269a47631a6eaad6c85d23afc15015eb352be3cd3c6f5470fa4e028977b2e60a6624b72b56610e1bc976a3dff8a4f085882f3f3b9f422f95d844cd1e6d38264568474d5be99b48869c5cd751a32171a4d49184c7894dc94b744dda85b2d17de64e5ff7d3811b71b443b1bc33e2bcf5a5f7fa9fce345a0b1a5197852431f3ac240ee47aa5336c4fd7be5fa34ab0c7fdf8ea08eff409b7375e167339875a283a125da3414cb1445bdd240d24f3870f7d831d86fe30b771532113da6d100bf98363715d117b62337077620be84e833c028ff1ac4ac0ceb1ff5aa874cf07ba82651b8245ee20c89eb375a25542426986f46cea160cc4c81d267e1513410f2743ec74381a6d41d10c688c474f416871b6a03769f568702a5f8888994b44e8df2066c83423f2eda31b6e1a0ff9a31c23ed6018a6a9d750907ce008421548aa770dd8ea918cc6e34b227484359fe1990406873d4d25dc0ced48e2ccdf2b4fa522bd7a0cfa573c90ef3f0a693fc4f25a6b04c4ffe62b58e3536365f9409aecb0c1e06a3a6ebbb49fd18ae253a3199d2070518957158ab8f269ac09c11d33b2289ff0620a2636798cfc33c6b04b1304c702cb0ec04e4a59f8fd4668a758a258837d936c097b96c4de7a3d080d7c2278ec06e8c2a976f95bea164507e823f4b0a9c2e4ca22fd85bb449e4bab4b20236bc38386924f00c58797bfce0e24fc7f019f097cdd9bdc1b4f9cf6fed955fe75786b409b157103cf1af365237141bf921d51bb397f38cc8a0945abc926a96c6c339b61e3e97d02d32ab9a4e1d51d4d95f5d2aed4dfb32ff6c6b29808ab2e84173d70127a3dfb44c67ba54f5a4be1851314b4d3a51d9471504f1e2ac8236304324129876f6f6798a1a71ebdfb691190d2063324a8f9dc00639995427baf1f682131637718d69274b938f67d38b31018bbfae85b730036f84c1703b8e2cff987581e79ab1706665668ca64fb2a6c5e7680a46d7f163e0ab344cc8bc54e0156cead3da94862d43b390e5814f37fce6b69a4d267da8b3e236434a41bafb09ed876e04284492a33d21dd3f2ac261edb74013fee57f35d80dad7ea9cc496a29dfd2686489486e9b9712bbcbfd2ef75eddbc52f924f74fc8544d2450d061ded7ad97618cb3f12038faffb8b207ee52756efdff959b6a92f2baf79cadea73b2fdcd92a2aea8e98524634f95e6cb49a1c85c0b4708b742e12ff2b50836e912002d975715d8dcf586c07ed77dcc2e35127e0802e4be612ac7b30d0e12c4378f5305aafdb4da936cf47456a6d6add09a18edea5fd025115befb39e34c458e3412778da37ec1119e8f25ae38ff2e8c37389fa8dd83a99100fb11a3b0ed844fa61ecac39c75637c0d5cdfe05c0414568a8977dfb7f6de56318d36ab1ff2a5e0ae21d9b189419e6ac0ac3da3faf7ba9ac93b115319809782a5fcf4bf836405e8c2becffadadb73b4fbda074f5bce3c31753a99331649b12c4470de5a5e78a0ca2402591119ca593c8d7ef4cd588c235cff54836a451f7405021e7515ff7e10f775ea5e0462d371a6179a5b6b2b3779a9413bfd6ad0d7fa2d9ebdc65969bb69d05d5f17338583e777f32ea1b44394f4ac0fa1203475b4ae1f3863bdd24c69d24b01d5d9af85a04a86d9d026b3a91e7b837deb95ac2da3933c8715fa45d8b1a5f24b8cbf58dc9be4aea36bb369e709f51d8042c5c91cea5b54b6fd5c652961bb4a4a83bae1737e5b261d79a4b1b6c651a3d8d0e95e583326c957edfce327e5007e7eee6b6b9ab21762699bd377d89867c88dc3381ffc7f56e72fd1a4282182f50b823e5e9584fc002ecc330cec1cc414f4f0125e8a4eb2684aa8dbd9966af74fe8c85d5a000859f9aefe04b0d3ee3e1df3497264fb06e56959b1500384c3bed8933c54516d46fa25515d8424b9b6c4b510c1852137678dcda31c26cb185be4a514a86dd634ad3ec7e0c6b4fae9552760089245c4fb4238190ee82f7b64fa2fe19c2e6a907e0e46ebbe7b2d85f5652e7bcc3bb88cebb020100ee70fdb7e54a672aaaca066f7cb7b7361a4cf201459ccde65e8c9841846178bd8bae6510d61bf46d9d11343c9f8e1d59a8e487e61a5aa5fce47fa3d45186b94862b4ca5e305c407ca2dd3327734fa019d6d57a77aa5f2510586d6ffdf5c866a25fb05f6c6c179cdb39975e57793dc37ea390e3be0e18827dc94b0e9097cd40bcf8c1c10d750aa3c932ee16045ecbd780d77e2d76b4428533f1810fc7abde9a0814461c268ea00dbdc5745ba2c6c02aa21f99f40514fb866f03236251b208b1c54195dcc7eec2ec86c002eb796901f88ebcd4343716757674744e4ca0e58e2f4a05183582d7a73433adec11a0ed6ce92184a9284199a4946b94074bbf00e97b39d87ec9d5d33a393c42f5490e2bc175efc109dfe96012ccb74ab7a907bdf23c6d76e5bba0d138d32109a67f1acda1795cce754117a5263e9fdb01899fa47ea8867028fa1215b75ef42842348f101499d5c0361a0a5e6f403282b354e792e2056b4a02c6d9d9580111878352ac395b0de85880059d34e65a63911b0905d8e31b85023cc37b54dd3efcd911db9a641a8757e99821d392f9d9855dde19a324b0489244a8678340c0f70f740ccdc31d95d3683bc5a3dc843f2ecec3b808e6c30810cdb477ae105c95c3b454df30945df1d56beac175938ac7b2289d34b5fb3908e27209577d1eed69464f21c1f7f17d9fb3c5bd6e6225da97a1056e18cbb3751e99a0004f8751d65222f853fb5aeb3ebe39d8316c41eba7d3f49bc6082b7d4f40174a50f5b2b285ff34abe50a4d8cdc2de896e992fd1a04a9ced86a4c2bd2a68ad0b62a680cb3fdc342e79d46fc9bd91be02e3a14739092ef97affee3ed1e50a162bd1a4fe13ed474c5a35f04a1def24947c6b65a29bbef99ae6a2ca696ea2ad6d712e65d4ae9a481214c878216ac595f6249da5a334bc26608293803870d06fff5b6579156b644b841b96ede25ab5d05de707f439ca031d3925e8b425557e1df380ccdcec47b38dca478e625d12b0f7a7541fb5d257ba645390fbde3ea8e5903ef9b621b8a7133d2061e9f1d0ed3bff6b300e83afc4065add8dcd5c8b61c8ccc2a7fd23d4fb8941b11804fbc953a770a5e02692c3e406445846d12114cb57f49f0124fe7e9d941220003280765f8314f974e77e5aada33b61fe1d77d2dddc9c8d83eb3b4865191b33b06ad303377c9bbfe95c2f4359a167abf6dc9ecd53204a76985b6c963c2f6099f133549f21f50c02162ec444c1c616d799b5bbf00011527398f5118612aad97af69ba0b183ffab312adc8266d25bba72f4af9f07154171fed001d68dc278fca94defba0eb02098a36911595f53f2f265af9fc4876f46acb7b702535a71d308a5433a03644f0ad07337ed8d66fe0e5813d1fd96957502530c9acdf8ae5a42a98dc648ef47fb664a229fd2319a1921582d6dfb3356071f78f0a5b7755bd6bd702440c844eebbb588345e8e082ad8dd1ceb259bd6facec3fa0b7891a640a07c37c8821d4672b8ea538bc1a89ac22ef9e7ab7fe19d67276b7c44f3837f4c0b20df92afdde51f078ff171451e72a47251e6d72702416a4052da2d76514d6d48dff9703b2e8bd529018dc3cad9e08d870cad31367af997be7c2547b8f48f12f69775767df5d90eccaebe4adfda5403f8af7b915e6f7d69d11aa6dbdf18796e34dda3fde5443ac410fe1ad5471edba1123e9dd41ae371af19456f85464992726593615f954a94aa95a5847c519d62d14c5e4795e5edca047dc133eb8a93b79b999e7efc14b4822b6c37d4a1957c25a4a431705a3d1d73980d854c7286bf28b22e65ce3a25333bfbde5201f82c7e7e72aff9ac01f303e66b2fccdb76fe26d95334449cccd4f2e4489a9d054535f4cc95170c37276d74bdd5b10bf5fdaf3afb7691077f4c8128ad8b995ec52ec0584013c388b3d6100aaf6ec38dd3de648ca8f88c1db2f9c0b680b34d1b6a18d093ed84b68a016835422f230f6f9baec69062088ec3706ba9a0d55b744fad605b4e1d34c9fc60c7920262b96c629a4d999c000c6fa9de16924b6a6b859188088629832223ca470775fdbc4bc50b713d0759622ec255db1be1651a74164966b39d34330bfaca71322f37d258057455d168f7a9fdc1b452e048b4f3aba6f6778990b13ddbc1cfc182ecf135a484eea03720a8a9a824977437d24df798497a207e9066925d750a6b685b4a632dbde91545eb536028b1d6e2c9af1c0c9185184cca28d75d0eeb6c8953c4ccf1745c2593ec0c4198cbc8d3efa1c880dec3d507e3bf4ee05ce87494e09d267ca5cb0890cfb2fcdf4da2f63e1e35d6c5dc9f1bc01c70d0a9d3d12a30088b066bfce663a4304d7af820daf97d5e34656e80614b5da5315af72304bf99d7d3d54becdc956b7af62a8f3a9fb7d98c2bb20c804ce55e54eb80bdf00e00434ddce2900830927749f2a58bbe8d1bcfd52128f1e6c33068d4ab700d2d36d0b852b61594a0244b50b0a08d2a41e64d801c662ee5e64a0531d7859839d93839994f658abdf8835e2783ef6d733ef23927af956d1c2d2fe197eb18441857442b6f7cb1c57078edd93e77582e60c37038a70d121325beb0f1d57de81e6bc22baaa5eb8b9b58749ca92cf9a5f9321d78779eac938d86df6292835b8fdd8b4a442b76bf313fc221cc72da17a2d85279201e53053a3c4711a91df24ff466f2a6ab4891ad4f5bf6bcf3521974e635aedf2c2a683eb7b585cce57ba03cf345f80fde827711230e08c73af2825d8ebdf511561cee3666c9d8f75693395c1948802e9b761e3f6fb8a6fc812ca34dc67d752b8c82c4d47ea6a683c674a818559fc1a7744672ad0087c60804e9ec792811e8202382db08f7fbfbdbf478bed4b9ed705fcd8730d4e2b09d0d4d54040931a84288ac16fc4a6dad9b652caf9a9d0250519abdcfeaa64be148ecf88c842c66b8ef920c78dea484c0560f840e242e6b186e6b1587312d5111b0c04cd7b4085b0fadfba40ac72bdfc48e7aba2c533425d41cfc2264be5d43d6d853d36b86fe0bd7ca957f0ecd1aab78e0e6658e14858ecc00c59dba7530431a6a9edc654360586edd796af17a899893e03a05561701487a720c68af87b0561075ec71a1b56b17eca101922811174654fa27fb427841fea98774a0166f019d13b9601dcd57c5a848bf8d3c46068b399a02913f2246c56adcc77ee3c4e80fa439bd5c0191a9ce4d161385db8dcfd87b3e6823359efb3deeb6c29ebf34585c63ee3f6489dc5b2824d4634a50d37b72017e9eb38a3bd0568ddb324b2d94f9e5ad4f3752055577d1e3cd7888923f31d12b179c32808ee730729ea50e53fb2efc9007504d6ef99931023c0376ddd3f21ad270b12ac6c0c1d3e92c4b356f14613d020586fa1b6101c081108536ac45ff926fa2cadec50bb2e1c338a4eb2d728eff6b53a9a7f9cc84f88a9a28803b603b877c3b33f88fcf196b7852066e39fb3cbd78bc0fd48175d685744f6cceaa820e0c11ad920f9a13c1ea960c53d6e579872553c44dab3ee5e322e185428b7f805b5c8c990bd6896e1e65a5dc54606acbdeb91da48f414f3bc0567e51d33b87961c37177e33c56eee08a10d076eb78678a810a63b5b8b6b36b85f3c147632258894cbaf551634e5ae90d0f7cc3bc180dee19a7f523247801f70cb815fda632ae7de9188ba101f13d509bbc5daf5f20fbef59dac7a25d9eb73dfe20b283bff523b2ca840593351b96b44707118d590edd2cd3b9ee43535d2f05d22230a3de4cb508ef2834c956c4583617fdaee26d2f73401d31c851ec38862d4ec750c038b081706efe7055245960c9e94a7a402f217d20df45926384dd65d79dda8a9a19ace601152158e15fbb802829842451ce15ddb81708e0ef7016256596708ebe74188864a2326a7698221b7092c8116cb4ba6c9bfa2d0b3945bd8b98c2248166951cdc4807c976064fc3f7ce04536d2765e072eece94b8dfbd83815daa545ab722423fd7e5f0f749fdcce64a590ea59ff88646296e4a65c7e39588a223b7da3186b19a9e46b438567249c556357b087b01f45d04d9738effa83e9d5832ce953d37d446e4f27d55ac11d1a1e3d485e88a832cbeafd21f87f6e90d5edaeeb315f83f87e04705c65bbb1322f8dd9da06c57b7dfe527766a916da7bc1683b9e508fde5e392900777acb2697a3013de7b8f452b06d53210819e06b7ad94db22d73301e7c83983021f208c52f4f0385404218b39d956da57e60b83d388622f1d7fdfe72ee775140ffe419e2c6d5bc5724dc454c57a17d101536acf1968da529537111cfe1fcb47e30a2578552943323b190ba4b1d4f593f8734f4b7d5c88701fbd127949981ea306410a414af5147e03a259528eda0f7147d24948227b06272ba73266dbd7a46bdc48008e8518057d8be1c4f88317accaeb26e283214ad6cb6e4367ba58cf4796b3c3043095b92f36047416e1a22a7cf214c6135a3a8d91acf54ac79a38d16cabdb265e9f8332d3f47e9b39c59f8d5b3f882f90fec0ce50700e0c0ab3b2da1f879b8d31c4c30dd93ed070ba31e11f1088b5f88684bdc9cbb20926b7db487e0fc9ed6284b112ff0d5c8dd7a3fa9589c2d3aef21dc69bea01d2fc309550082c50adea5906ccf851119980da29fa1bfd8482637ec4842149b0564e815912e8c0c99454dad73180a872e54f7a22f813dcd72c3f4b174755030909caec417bfff117de16c3c1bc246408d979000f36290f8b46822061c63ea4305d6ad539945412b351f54d84e748b89a7b3fa2015e43ce5c0b69916db98957cdc6673bc7272f81c34eeada2832b4ed302873ff93d13dbd5619da59796cfa36aeb0ba38c83142ccc58f08f95bed85b86401e40e4cbb9ea7b17c286388df8251d0ffb3fccaf74a5525f1054e1224b230f0aa710cd5e4458d11b7f8e8c2b59945b0aa83cb4beb18fffda3e96e056f5c968d6e6578b3423b7166e747a19f7c5342f5042e15fa298b9ac00f549ffcdf990e74cb864a1745ef9f058d441bc5ad8e4c0ee834c3d010211b0f696d23071cfc46db8f1d53bf9b65d334738b4f0cd4b5e0175289459525dd43663f0cd1549b3c6c6932090a6d839ee2d3964819856112f92f7abc5e8d50cf327bbc612400060d532c56a30b50595c8413ee18c8dce0e29b2f9dc37f412a205b4bf1da90d29db179163902c7973aa7a871ede37d0ceed5cc3f90074662bce41b9913e74e656d1d22122f0018066d2a86594ab753d5f153d57ee97cc06b7e83d4294b6178bd5883531941ca641f1c9a8ded8b29910aec21c4351bf7235f3242e7db1b66d177ec5da41bebc47f563ddb7ea426c254ba860de2dd17611e58f1b73e82db3db81ee821097ebc1c39e326c0858635145ef71cb7a00fb8ce2b54f64aea79e0edd167751b5eb17f88c0683f10192581777e840818489315005a4f85e78271682439b6b01eaaec985d743f7e0ad33919dbd46375467bab2dc6ce759a97fe77332097af61a84671b3b2356a928903b463b6bf9bfce440ae4173d6968cd71cc6f3727bdaa7818fa509b2d0276483018a9793383cc924122e843af5b44896088492660c53bb6ac131a4265205dd88e55f93263198af982e04dfe086a667459254fcbd2bd77747aa59c8ff8082e2a9f590850e1edc871c1fbea35403e59955f3c8d7643594fdc8385a19ea94cf3930b489aaebd9e4b4d1bcb2e6c0550df024c0e652afb0e69b03708bb24dcf26287ba219487c35f8d9694e4ed15eb485ef05ecfa7bbebc442e3f0f71497d6992f8a1411aaa02df41f6303c1a2ee175624fdbf7cc1006055068eccb05fa2c708a8f9c8ef7dbe32c8de6bee742a621f786ed37d6d405cd8cf7895a28958be1f017a329b678d1252be7ecfd26473732ab3776116fccf0db101d3e7cbb30c7949883ee5f2eb4687890a92144768a0dd7f103b2b5ba9446ccfda621f4e12a8cbc75d8519df8fe7bbab0c2527c484505719715bf5492be1b4e5833aea6abb8080afbc2710b0b5f8f237b16414d4210d66e141d321560d4a12c7e6ffe4929109a957f12bc71d9f5573490b19c4f82a389b2d707ec33d631c7ed0431ab56ba8156512afceddde3bd759ce74847d8b3d9ba589f983d90d7fa399777fee9be160370fae4194d97f1439866ec898b3aac29218769806bfce710d7424d2ce7afe3d23f6ad4c95320b9318a7048d01e5811979b9d7382928798760b813fb89b13b7605b88fc07a8d67568e1c0af9de8d90344cec26c39a1d4a4c9bff983430d708ab4dfa6f43ab3df494ae7c203408f2800a45f7fdea75e4be29f7237da23a698c1d7524e7fba3d02cb4be9adc8e852a3ced71a5d18675cc3bb705fe63e6f680a9c18c9f1225ead14326a6e197d57df5f4970279ebf46807be83eec4db4c1365d892f3bfc90a451253a5ffd9abe04bb89b42c5db8c9e762250d8435959a215a5f0a098bb4627a7dc4baf526523ade6b5375a66e175b28788839abac78ef2ef9f98247cd7b614c9ffd381b4008863e602478f4245351dfbae36d40319d5476c169c6491e70539270dd713f449bea8b8f6192d8159a12ab5b06a3394a6af7888d394252de2f062d8f0780ae69cf1051e5f7271073bffb93135f6aac827cf09e5c64dba1b6b4f3055487089f71cf215917994554248c04a9ee59bf4ce944f247092e7faa8e7f3f392a2d0e9dd243a1c8f517f83f646f1bddf7dace3c9204cd96143cfa2f6e4a85ff1fcdfb99f425c24ed0f9db9be84d9710b2746f8b83d21205e067a1d2f87e034ce18d705137cca239fde9132e84d057cb829e6234664bc422f7eca8c775c6a5b749f10dbba961f7b939f6a16fb5991c720c6e351e92d9917598de13600dcc7d2058f093a1f77b63dc9c07b777a6b82aca77f8a2493ef471a944a38a3792bc531a7e6bf2fd25cb34050c1e32c72940de20d7f6a8a2b949cf52a6c14a72a381230fa1bd680378ca2fb0ba45fa47a6dbf47ca4333f7400bb1a1c1a53c94cbdd13a0eb0b5f67d3bc23ce3c0ae6f72b966ea01d8ef0200644d92cfcecf54434d4613d24da1eccbb98a8248fd14813397caa486ba0943bcd261b907d459fb75a1b63368c9429a9e23ae9b4ceb2369a809a624ad3e058e8379ef36c0cee6c490ee4db0c7ff7bf5aacedf972eaecc392bc1b93cc2aee42e5e89aa5caa9acf5927711103ab71e188ebddc18260259c86b985a0a4ed3e157362a4dace8d61947bc99806a4e588a120de4f078c0cb3be14db3f6c6998a10cdc532445197fdabb5f0628d99bd0ce1ca0bae81e3a83225ba2bb10ef8e312de00bda974c00e04362eb1863e96baa3f5f1989419ffb547308ab34e534749d10eb2e952d73e04103e838bc23394c363e55e4554798e0260b3477d743f9f5ca77c554340d56b529d678112c1879cb374d48a84047cf376508a137a7fbd0cdf56b1b33ac45d9fbf97cb24ea4501fb6023f82c724f9e079b09d00a416da20442d0cee69b6ffe875afa5656ff0910e24e91569777267a5b17024e9cb911edfa742bf4455bec4843834ddec401afa4b174c12c7daa08bf2970e8530279633ca4ec72b7f885362c0b1f422f1932c949e60c60e30c97b21a3b6cab67294490435930a0f8a9a56e952f07e743b20a27432dd37fd32d43b4cdb6657a19f1812720e41078709b044119f51933853e5db6d6596b855d00d2a8ac738c3b4f167dfb65f2bea526453dc5e0d1ba81c9a33716bbfe2e2580b639a9024318d53078df33936d6100160246916a717de762194db932f68c47df86d40ef9877ae0c46a77af1b7f992654cf437fe28861f4002e5843d91289708fbddf5dd61670c5d84d0244f5f1763bccd7db2ffd783559e5ab77b6981666b60534be1c14f8f824903efc3795017a02e612812cf6e3ace281a10d9bcd5c0a270847f687ce7bb89720d4cd3c0d36228707bb964a1433783af505a3acf104a7a68698fe5446d8a6b30f439d80ae91957640ac203ac288dddb4600e2a3c55e1a41f2e2a05e05cf41686e9ee6dd0722788762419382a942d948d770cdd6a3ed80b88c1ff2f6aced33c61cc9cbd91a8f018a12dccf06c393c17c71d8b923c45c15ef08a0c23323e86c5fcd43b1ba2134b6c6e0908284397133f64b3c0721c19e5441790287f6e719081beed4ca688239f065b8e14e52c5729c6b5e5f29f2a68c89c8df787539ad97a9a49867f652937b86ba97a798e8919571fc2bd9465514a9ef89d2d94aa35f514117a28828154de69199e65f8954196e55bb17f619ff3f9d9c2775f77f14a3d1cbe379bf95d551dc56694adc05a4e80dfabc412052e1d013a6c255854b63cbd83d583e7082300b0871ff4a53bcb800b52c890c20deded10f3f68de17b060f825450f06848f0ca58a9fad3f1b734a35255013a7ab458b34fb09ce2c3c3d6fa4cbc9d0ef4b54612db401662701297098211653948f6ca4e3317364e04873e8e2b7b25229364a03dc0ae2c8c30aa378556852316f73f84bced859f3227ecb3ad52a9b46bfe6bc7bc783170684063062dcf3b8cbccbaeaff443c7ac2d72b3feaa05d5a0c64803c5da7e1ea57978c5505e70e90ab2bbf8bcb3d4f75f7f77caa59c525f425974867d79f4a9e14312535c9f012071c8fac6d436dc179eb11130c7323bf275fbcc0e00bba31a2772884e9f99056e8d850e3be2ef590f0936c161b85d233237f2d3dc157aec246739dbb25acac2d355bfcc66c436b3b52b7d18e48f669d2734000fe4c2fe2f51a68d5102a6775df08c539e129557818b040f3e2aa27e51477fc24a62e3ead4848aa1726904d2455513b84f7acb811fab722401a2b0fc6991e724039c9e7ac5fd8097fcf20625643bb0f7e5c028236f916c41e618e137ad97b14e0ea1bfbb277f491868ea08c09151e4c42d38a071f630a4eaf4c4b085c63a914bff4508ee358333bbd5cb48e99a5e71b61e799f411d61fb16c3c89e05cfba864baed022559fa28e8d0dd8aecf08bc289d43c1081987205763f7c33bbce12130172d38641895b9f6fb682fb23563fe3f89949aff6b3b8bb2c96a5f039e224632172d6c10f6a17406fb2f8c21f70cee60f95ee9b2af5b2967efce4679f5188104351c1b9f7618d21c6ce4a33918127a776c1b2b38b9978db6238fdb421ec6d8dfa253e07816da80d087de0c2b0886ce727cf8624ea6f496c4c695619bbda0bd337c72271f0a84c9b1f2e7c5bebb99e1c86c568f1a23ffb9a159d116f1414e40b70572702672fcfab79f74b2969e7a901f8a5b596a69f74283b76ad768ac564a45aa17c9919c34c5b9ce3c3d02d48cc298284fd3dd6728e62d850d470676a41b9c96cad5479ca31eb64cdace25b50cd209c0b8870e72547d64515fc3add288183f6dcffc44d71e0721c7269cf4954ce5e2b9965628d47bb76e86a132f2389b78ae1d62936210ae7065fadad9caf04c7ce015460239daaf00ae24458e1bb2259c9ccd506a967a77fb85911a0bb9dd014228aecf934ed1575f07981e9824d54d2213780468e6b7beebf09ec20b967e0c6a1b2eb801a47ecb243c63c6865889107ea5046119ad26dbe418227fa736add6e5ad312cb294bcaef33d0c7772c3cc61e9cb20057e0fe3ea89d9f8502f516eaddb23ef319f6cf5c75575315d950a9fb5b9c198e9e37c15e982071aa75c8fb7afe974d50e31fdb5faee0ebd0dfbfc7c658f38b6afccec00e003469023d9f0b86482943490aa21666e6bff0b7e84673aa29833c388272b6d2f68148537f79bc30ab005e00377a52bdf3e0d7ec534d37f98835b1c0a07219dcc3195bd092535c7f6075482dc04c1fc3e616d2cb923cdf20493dc91ba803ca212ec02c30dfc311ce9d110b9815829ddcc7fa99a4fb7faaad475f4f50cca92dd76553b407cce7a7a3e29472e5ec77cadfbd9d271f954771485d4eee650ce41df6dd265b6c8ead448a3c3528fb27f2194aa16544818465ad9cf38028cf898ea85e55e6bd5b97a148e953b99eee17ff794ea9cdbb6ef349a1aa1aa4e5701409f0a550aa03b08fa403b6277dcf2db7cd10914e9efd9d9923fc88ef0e5df65f7d39470fd3a26865dc894eba6fe9beb5896a3ae24bad70117248caf39b9dff371878279361716d2076ebcde2458d06965a61e6642590d651a0b70fd299f1cb77f12e82e33a2d115361e286cd39e71fbaba26dea6ed356f0f04eb90e358aff6ff8308783746708accae937443c109f75b3394046950e90853d0745d41699b455c2a8e1a63898e8f2e8746e2e68f9c8aa020be901ecbc42eb5726e2fd5aa43124dea623b5c2854a3050795681e159964bf74b4d2d21f33d164d964162b2ff27388b76e2fb2adaf3b9bd30e729cfe3f7f464749ea55fa1b7dd122b9b9409b4b3773fc8f64d84e8957d538c53ea9c7996c5ff0facef0f1850043fed33ec06ffeb1862f0ab99521e9a256823cb5525f03c9d714135c5e463e52b8f12d385dedb2e1f80fe163b62505159bbbee693a44b32ec8f792b44fee1d4b39673e7288a3eb92ef64be75177f6cfeae38079d7f42223ddf293630cb4dfac21a0d6fa3393baa9e708c3b40a3d2c0a3fabf18b68c445afb3e428966839f80d52f1d528b627f9bb9cd307655b8a0b98a8da195dcdb607e2566509616a9a8755a7c9f19bc960adcffc7d8f6e6575148950b7853abf9365dc2c7c670d1471733ba771d47b6e218b2a65b9e220cd9c3a4491f388d7e050edd29c96355e8535822f583b2536057c1a0a6ce11d3834af9d7d4dbf88c8518e3ec04ea7de2557294ab8024671634049f5c960b6d176b61d1812d9de477a5b3a01bb7ab3d667be21de4daecfd389bc63cf9fffd5fcce2967b4d72d44899a7d1c9ee0896d607659fe51914608a5388a1d2852070644cffadbb51144aef06c004cf1c531f32a1d444110e3d807ebc206a97ff6e94c0e05f825751c99394aa43bc8b9c0ed6c5376ece85a29a04456b0b23e4b78777eac75fdf9c711d65499a1ad7e899f17aa94458a7b0f99f431c4be47b8b7b95b79042b74fb39c0c59013262595f9950a9744dc6c0cf356d4d0313df5791d4ba2ae518052c63d8abe4fb1d59653b2b0932ff612af1948cb1d7b390133cbf228940d497c353127637e8571088a7eb482b4ac8798771db7bf5d60cf7621d2bb95bc6fcf1a49511c17769d18395a06efaebb350002915b4a9bb9c120c599f284488579510cb32be8bc6c77d381ce93510054cec2be894e74ef82c2284f2a5dcd497f9df2dcbdbfa8b216e42f3d0d26c1bc64422b6bc668e4d651904fc4d090e7f4a76fb27d3346efbece6e8f90a45facdd63c0970869d570f755bd9430502f6688b900d0be5aa33d40066a8705448e840a4c8e6e095e1ba0c3575b0118e5f3aecf7aadf0145f6f83559c7e13c11c974dff2fce0d6e71aac83446a94baccf6816526ddc3a25133ef16cf9d116c55b664b4d424866765edf60fdbc88c979625f7f0d9435b13be6fda9961e3f6c2d3c32e29d04daee939d389b9e1f89071fdfec3c320554e12b1ae16d78befd01a1d0d34c4cfd6c3962a6e2ab1dc919bfe1dab37ab728ce700343f7a8d205b3ca935375fc88a034b1e36cede9eb12ef2034aa02671f1ad4006a41001cecba3d7d5b7586aac857dd25208fdcf03329fbc1e976711b7d787cd541bc3bed3e6ae145879907845c50785b5b95c702ac82fb7e1a68fbaef996fc343ed6ccc203e9ffd4a2146244e8395e9b223f1a30cb94775610d1997fa338c68deb101ef62dc5e32663562987217e0448c2c4c3bf3518d09e17ebcfb7e2decca99c066dcc4e485bab1cce049f3ff5568f8aa3e373e2ae1a3b3d349d2599f875e438dcee5d01540ad4cdefeade305eb23c355861395b5dc9ba7f138d1c6da7b6cbf6fae092b6913d804871f8157bbccb4082ae05869e60cee83f0d57a7beb56098c5bd4ca5779d0e8c97427eb5198b798fc809b0cbfc79b0f33efa27701ad51271c872c989f64b8814e7b899fbfe5f3b9fcbf9e88d707a6712e7835924a3283cae3cb23e6e26b14703ff4742a047a9d3aa798c369459a87db9ce4bd022893a8d4f2cae5393cdf5605d14ecf9b41897534becce4589004cc4dfdba174cb33d561a13556d53ed084dd0b50136d226441e3a322c24d68d2fb67ceea17095f416cd44ba631529b08c1356e4f636de862d2238e8f3926e201fde36b6dfcb16925767a73ed9031e5ac79ddc2d21559ad3875736f4f7fdc1fa96a016d673db5fe108af608e12dd0da4a68352234e3fd14c4163deffb2dc5d9c82e78a8b65102e499f443779c9a132cf46cc4a7e213b68ecf4a626cf9503187c7358800bd206c8a31ca191b572517496a62fc968f3adefa8fbb81920dfea33f32e6cdf36d5949cd2edd5fc1ff7472ac6058948e1e388c164d37f58e4c6f707fb78b353f17036c3442d9e5a2f8253549edab7210e53cafc3b3bde130da00795c1844565fb6e2afbe41fbdb06e2c6565ba56ef2d123780fc90fe2a6c7bc40bb12d3ee81085b07e6e684593c3386d6820d00cea2394de6f06730f7d29ca1b1fae695e377dc445e51bff5a2f40184db41ca62b995479b5ff06f23b70b445c8c4bcbeb64a126f9238d9abb04f7c6662b7ac73e92860af5d3d5390e09f4ce2df2b5eb158394d98204ddb64f5524fe321a63ee85980c96d01f72cfe139c8e139202d699017a142bc18ec680f44ca570616cda3e1bcf5810dfd1a846bc8839cfc79eb105141bd974667daad6b6f85f7a899c27c7650a113d9bc413f620a82a229048699eb554ebf09b8dccda81aac6dd2dea66e6a6075c884b17db2931587a3e4eb0832fccb32f7bcc3363c291163cdaaa0182c729d31df0650ff5cee10bb24bf47dd1e8fa8be02916c29bb20da120087fb08e2a17b6a86da42a872f208ad9a0f33bc96e71c24fe05284bff4e410f8b18cf538fa76a143bd28a6edf1cc1cf9d086d44253e98e34f2841028a7baf79532a045c306a04237030007f102953caecb6fc8341806311e35bd750b3255fc45abc5854c9e4c36644df10e9df3e6bd04edc4a475ca89677e94bb9d368fcb2171eba813a0940171e72cbf6e0e6f451c779a58967da9e75d450f7e1dede4ff1414bdb38d72ac6eee4672bc22187a02659dc972f5a2ef02f981522ebc12b450b51e66a0a2288cbd67d6e79884b91d54b243b360d47403a822186a305e1f552831840b637391d70984b4b9842092a26010be1227809a9e48086ea78c4251edb41a63a1cc175625502cfb9574cdd76fc3ec2eb4e443bd719f710bf94f427bb6aa228a90ca46a75f2f9c4ebd45c8beda13be1ecb2c66b5fdf989beed2058dd239ecfc92c263e9d60b62545e319be99a041fd466f17353b9940599ad00875d9d5f0da5d3537f648feb1e234cfbfcf3bf30de195807a4276f7541b242d039f819ca7d43994118f469c06c7a9468cbd683824d3ef833a62a490ca6cec72746b768ad5e40fd04a7908d1343014f91e882190528f7daef105295548cc9241b69128895bceed92f6114bc435953df8c41415676b53dfa15399e123499dd2476a1ea0d64055194bd0a743cc99ecc8a3f6944c578d17b79f66af0ea3c9d4ad27b2097129ca935977fb3f7740d5e82ac1185d786a41c4c14caa46138264686eb919b7355edd659d93087a5b96f3cfb46ce30794e7c79e7ee2a31d019a05b1218f994c001ef88d62b385f8b7e5fe51d21704d6d93d6766e8c0b942e96954b5ac54788c6cb67340ec47b5d463c5579651ce2ca9b69715205a3a6eed807ab0d65abf0d057b683b46870399bf29bd7517bcfe9f1647dc5e0933c06fa73e306e86c08aae65f1cd247b36f23c40843cedfef1750587959fcd5e469706baf3d517b31af3f81084df358b73cf4e44872e177a98e7d2d2e4776bbaf4b76dcc1e9594176b8412d246a11055d218abe1566538715de71c5dcc869c9e1e17c465587917652a2bafdfdd3e61a4a2d3bf3dbba3163f2b8e91fc1c6bd25ba95b1aa608fbf294d086ec4abbcdb67bc05ebf701d18e7ee172f10ef98c2d6f83002d4b0a33bbbed1b8522c947781942b26c4d02ac8bbb8616be538744dab748c954e3f873db320e6a44dc39244b6f318bca74427db3093494a27ed310c679d2db1f91b5955763dff2d72fbda11aa1fc5788b3929d5d30fd176b4bc85227834d3bc8f62974ae4cae76607e9824bc5911efd1cc2b568794a2cd91308eb4c5b82596a5cfa8d5b9bf577c2c797e21ed1adfc93e402d7cde001b58c870ea8b116f43cb043e57841db44fdd6b9f9a10eca947e9c0417f5af7a5f1dcc468a458034c9daa30157290aa64fd1985471ba0703bad913e1f9da27864bbf189385c7e90972a2e45795ede05d1938348b90ce5fb46381f3bf0c3147d20b421a294021f61ae81fcdea9d24eae6f5c59d95009e70bf2a1a71e60de5b28d4dec535b3dcccef0deeb44a1bf8e3fc405dd930cb10606c71952a4f70f407fc94050f7d98e5231cb95650aa3f073dddbf8874aafdf92c815580ecc625a19b4bd7f55108f7866b094cf4f5a8aca7d09a3f4b0d30bb1100d8f738484a08e047cc23b9e9293708a11835b48ef1929398e34dee8ebc459c959ce5c4a1e3f881dcff2a1b47a82b826e554c8cba7af7e1b5da72ad5e9d3b0222310861ddd1bc62208c9cd6e40c07eb576a4db7976b826ba267b5a895f099b0f0d2b8c62da9a1bdf3c54edc9450884d8b8e66a8a656cacb5b91784e0fca2307b6c0a8573b61d4c2ebb2e8af237b3349b00bfe5208a90b4dfde147edbe231b3d7a0069fcd34f963afdcb02704009b450264530e6d1684dab23f649e34f7662441ef6608839aad9cf6eb5d774d2144e82e63b71d6be91763397df04b6dd3d36dd5a9a151cd88f3e2bb5be6138e6520ab421fa96f59a7b2f8216446092a2b1050679370d80b5d7276430c1e0d21d66cdc7c25c5e8c9a447d2098d153de414af1fb9a1c326ff1d2e106c69d9551742c7eb98f24dd7779c4d30aff94977262124fe79280778d56f98d52c8c5eb437c183ace067f4fcec474a85f574b6b3e2cdf1871e7846c99598a1cb84bffc9fc67e848924328b6b8b2cd03ce3211bd60e77c958243388f6421cbb183e6ee346f75f53012f70872c80c774d0d420997a2954c688971daca30a5f277936a127ebd10ec0c7ca0e65d388ee0fcc3cc4cff0da03a0826d5cd7b8eab6ffc6a03f1ffb379d51adae67e22ec89f945d0089917bbe1bc3d09c5897dce29ba30218dd4e228b861855902c4a42e295033305d8531d3b9bb7c7f074dbe216a47275ce47e6a4dcc989e968d795f420cfdd76c5fee7becf3795f89b04260017c09d6fb76d60961fc8872ce4de0abd6263e57ff0a93fd4922664677663028d474a69eeb7cf89ea6b3deb88a1586639af383acb6cfa6da7dcadae0aaef2c0f2b93a06d1887c1c864455e4db71f180c03601fa266ecf2b1e6548c347dbb028fe025ac8dd2180ca5c4d79068123f008d4508856211a243427ae800a35ff5450014708f1e3150153d40d3df0bfc0768cc7e8e36dc8e8880a273986fb76414315f1b185658d569adc8fc46cdc2f6d3034e476967621590eac30a2a9383ea04fe149ff496ca48839e543a64ef656b82115bb4d4719de35e26fd6f94633b77488560ce48a64c04e2063ad99df1f162badc7fcd6311b90086cd7be849f9d9e88a85e92587ff6c68942a95fb6aa4a0d4b582d417de47012b7564e6ccb8af65ea7d79d00c55e51f902db5ea5011ddf6ddb677ade0fca5cf7f067fecf4a61ff349f53d57004413375c06982eb5ff027ceca219516811e39a2f073227b030bfa0fe91aa729cfd2d4c6ba8cca77b2fdb5321e37cf7f46f89a527ba71388d69ef4d8f2fd73b9ef10a823c00b66fcd8241be98e48117b169fe01391ef1366b1326860f82b4b4fd6cac315a41bfc53feb627f8dd27e97e598b93863df5261be20915fe5b683a4ac68b9487783b624a53662189d7372604da7b749c6580dc9d845e5e495794b2659e58ae55b00fe9a773f58ca5793af281dbadaed9c5ccd2c2963f4e88bfb8eca286a98f50529fef3a6ff8864559de61117f8ec956b0ab6c37a62c2f0efaf3c89ae8b33f73c5351fdb2b426f1386c9e07b8ab76a190eec46ba9ee3ddf2fa7c5d7b9d304d3a00c6bb42d4b9cd869e2a060f8afeacbe5ee574f001adcfc70763e30540b06a1014201560477a78c5fbfaf39fd5eeef672aea90d7224770777628785853a32dd60bba77be5348f954b5333dd354adf662f9734b7f68f1fca9d5d4376e62caea592b56af55b0ba88eda43e24a854e8ba7c19b80e70ca06c7f51351bb68ac40c688718abf432357c95fb18507aa52b42f3e301dbdc156c3ff60b4391518135e03f944a2f55287d16844a519840c849b955a54b72d177fc819979eaf056e3d777ba4770d42ebc9af360c25772f15c39a2b3b7d65248453d4f70efba15022577eed7727c1150ed82e70d9f98465a593460187cc2255d8ef23c1ad7fb31ba4beac8de722c24c3549203e6345b7123aa33c73324ac9d3063a77424b0888ce55729a4c98be01190f08e4dccce6aa7dc7f96de759dde98f52cd393e8a36b7dce3db958b5cfe98bedd9e99abcee1a34184373c63de93d5397b8ec9b199430ff2a5322a8a502dc4e0da3f91433811db8056df03b4b0bd1ba565d1ff6dd7b96098d41707e3fecd5b8bd93116de2f38db5c1b6d7c2b68b5756564dabff74f219c12feccca793622418c0ecfb11967eab9ff7b38d5c9582df96ff082140f0c7c53b37e0bdc2e4720115e9a1844971d83f565b3d030b48f7ba7e3d08db53cd44f922be9a5852fd196e492cebb16060afcf6acfcfb33ec312bc88a828c4d695326d30c7d02be9441154e2aff441a15ce2545f96ee868348a3c3f4506bd6f2c548c0257e3fe047b2dbd6bcdd484787b78f976d2515186b399e59ba6d75f1d355b6ab204581aa0ec5bc4d8ad99c5521c69f93f7feddbb19e8dbe88c44b0a0e7f3f99000bd5ba518033340f3b4c9d9a432929136efb611b641d14b10af42e19492d08e031b8ebf93dc9876d02ed0fdc4538ed285b1039c4a4590e2255f0804e104596b92ad757dfbc40bcf62222d1c098eeaa67d6178fd48028becb2e488317797c6b93ae029a6f2d6d68589fd47ed0fe3d53be4af6415baa93c44b09ef950715a6a7a67293e3b5ecd7342d7600aadef181106e35b0ab87cac241055ffc31a8c4317358bce89f5060e0e38161a141a3ed4e260199bfb97b640e29a6f9639ab52b130784fa79dd2b69bb2003ff0c85ccddd16e5862de885a3ed4ff2194e81c9e0b041876485cd4e84db05eb683352652845076f90f026c729197bfb66de4c0baaa1bfff0d393fa43246d7b1d86ee505b3bcfc6fdb9f2304e898562ce8a73cb7116dda48be4b187b307f96b58882d06d9ac3b78de6f6d88b04628cacdba302d55e60eefb690c3e5c8d343c1964420de3c06c4fccbe71ca0ae19930d048407890614437e53ec1da0bfd59eb32848e0a209550d8445bb9832b324b213de49ef23c648b6d96e238ef8efd846e90cb0e3d8c30a8f6727e6c0eecb80d53c48e989322973fdc7ac389eb21bc628fd127ded504ece91450e02379b251cfcbfe81936e10e4b680148d0c3fe0f1a322a1b445bfb5e5910bde7d52ab45fb8763cd1d5c73e1cf4557a168321ec5519ef5a1ee98a1de9e03485c4bd55a4b3e1a85e49fe8d09992bf631f8909fd3a293e282832b47584df54a7f99fe541dae0f66c61e22782da15786ca37f322377b3f35b71162149dc198291440bc925081439f9ba9020e39956b65a718abe8097b0a883136edbaac77fe0e99b41de06657a9c16c86983570d871c8ce428e4eb83a9bca6f5e85f477fd0d5f0316d2b99d20f663515afa6c066a1aa49819297438f6f57d8cc89f508ff271c034c54e496f6e06dc8be7eacb94d0c8c9d9b3ed5244eb9998cf5607565c743eefaf5a49a476a6e35adc4bcc724e0a2bdcd65b0096018c1337f7bd7d610d444372181a71fac4f04681ee48ae9c3600d4d1151f91401c093f497e1b499ce4804b9d5f2c80a1645b35a110ce2d12445c13e8ebbe6b80f846a8d23a5fa448b220d4cb6e1b7f2c38da0f8690a0a332da559ed888389f8fda847003cb3b939e98cd709d43a3cad07294b49c96426601282df2120c48e865b29b3bdc5dbe554a27ce8d20f94f08ebea5862845de71aa8b09aafc3e801c6edf5f5cf2279e01a85b1b0dba18e9f622467a0de405204946963fa32dc8ee95032f1edb4ddbc6020c2c234fcfb37e6aa978a742f3d69ea724068c87c8413e1dcd7ace4706a9af91af5903b85496c18f1086bf0c0a320d05fd877ad2b85481e318c61c4cdb3c920380275fd7742d756b2f57cec674104cf20a62e98d08a43c942420995c496c34d5dd30b5da4935a651e69b3b9917059e3a6c4d4ea0232beb7d1cead67a4d8d887c6ce15addcfcfcbd2e8d1da9e13d1e164f5e2f9ead6528633236bd0ed6ca0840d07386622163a7ad0530472b2f7b675119ebd75e5f94d5266df97c4d22c108029d022334bf6c1880e775f4f7150c183edca48988fc9ff84fd15074db3fb7036518eee1f72ac7485819a96890d9a6662475be09dd2826ee211c20294d91fb07495c81d4568ecd5298b8d432e3ecf3f71f912d9a7972122a938356e333c8194ff36ecc0278bbb5317b1e04f209ddcc341e176521c9699732c3b60733270f888093a08f66c3272ba31d49382224fdec863376a9cb8846507c29fb6df8074ef6764ecba1ff22f98272d29c04af8f925889a394413be86ad862d12c2aaecf4928bc172a31948b8c5178ea7f2e9aed88dd85ec90468855d0987a91e999e97af2d4ebc0d70add4df124888dd979f067db517a65d3fc8bed72bd9f64677d80538cdb1f59fccd9de76d4f1caf68ff6cdbcd154a9985502e2275403aaba7f600a24457a49ef1a79aeb04ef793d53c78066b476e4f28795f4adb97cb9a9c66318812f1053eacd0d9be3e8a38a0d0a42ba6cf422ed901d12c5e2f81c69db20c4980a1f1fb43684c4efa799196305f7f936af62db047afb67c93b1b2a2da4775eccbdf5f367f7a5ba0492d681861a604119edbc5819768a942ea0c3040504a391fd5a217600d4ea783ff574b85451880fbfefc4af9cf37c9714c3e24d8d5a81667626e16281cbf7bfeaa7dfa1c8f477478cb32d50c3a7879c8bb961ae156719ab2941b673f38e84d6604a254abc3fc1837af073d2ea4d4139d1e47e81d5d12319ddc640b6140b7569c52c390285f84f3571389f23c90c895bd3de64f86eb5e7cdc3a585fd03a3fc6131f21c3c1612186f73d999e0c0465a8e7f253937839172ab3e4ee4bd835e2159690007ea9882ac31f2b64b69f30af22164433da213909ae076edfbef0fce227f899bb9d3c4eb48c125ee6f32cac7b1a586c7a8321e85e76573b7f16cbbb5e974800128fcdf47a37cdc23ade9ba03c38174e8c63a9257781fdeef2573b9aa2707903a96f8759650d928c03639568b8ca5a8f40d426480012868afee446767e93566471bc1e8146c707d81cb766cd17fcd1ab046b47a680e119ab6cb2ba25c61b36c8d2203336a772a491b3ec4ec871b16658e7ea952b8714d21b34f3f9f8a6eeb81226292e19e00343d537c9d60f7e93101db8a3160a30d30042983e5098278da291ef714a18ea226758466bedeeecf87aabf4c1a2e2503923e3b8b6757686812b7536597a2383b8d6f30f2e44f45ab190c57cd72af4154e26a82af768ccff4e0b35ee89c54dd83ff4ef129eef6630b2fd27fe9a1e8d917e05cecb17d79dbe4e6688abf9baf50e9cfba5ddef42385b7aa32bb7b71be0ac9d92f120731b2a92dd815c739bfea55b3475df33fdeef1b1f8d5f376e2ec03c81de3ef8a6282a8c30d6ce97d94321823619dbc7284fb5adef663885cd914ffcba21c82d57d9b854a04d86fa0f8162233fbeb49e0f4ba5bc035b2b6d5e880683d4b68ec8ba6c3b7edc78bce5648b6c0b8b2a9b00fa5049730d038b6ccc3b1a5523444889a9189d0230e44f64464154688b83eb0610df612fbb5179dbfbab703e84312f2ff52def23d033ed0a8d1f465b8a108062574824272ad9a741368ab832b2928f238e70880c12a16b77216a79749f347dfacd38667f85e7214cb8939db6efe1ed85a457e2dbce745cb8fd07531f840c60733665c12aedf1cf55e31c809c8f77059e79dd60ebc4b7d360b01064c5d17cc9fc0be236efbec81bdb474c953d07c86b1ded04b0f62890a381f6df5c80ffc974115757216725fca90f3021e8b1e3a3129b889e2e2ebd325ee1c29400740292f6c8365e22cd5c1ee0154dfd30cad47073a281a855a8e45aa6b7cbad91fde8104d2e95037e850951cdd5e7f357188529047b6bba1ad6bd84d22ca97e152deb919278639ddcb8dce87fa5b01b4d89040be55e1526cafffc9e1d10f784ee478c6c0f9c176898cfc47bc6cdaf7a91c5d767ab968d1513da75a2438495df74b1a72e95523a9dd6620317110d3814e753ce69e4237ffa53f259a39887a82a1a057c4d0bb9795799d2b2bfd42652a4785fc689b2bf44a4a281c4bb60c15779d17e8bb001bfa2e86e3f124fd3dc31fecd5b8c92d4475964295cdf5a6086db375b41dcf0503942e1aa86481e7a7da718b3318579bc3cd91b230737423629150fea287fe04a65c1d484203662f66321a16025da380086943fc6e563cac094b5930f2cfa9e872656b275bc463f869acb7efa472846ee7ef707776d674fa3b16bc45c692b2a556eee83609283e8768e6efa3d43375dd688495fc67044e1e4e7d1c00f10c59cbeb0399b1f4b755998a551d2b58913e8ce24d9de68531b84f0b7af7ac96a17be88ee995e842957eade97b2fffca32a5c7ee16780ef5223209fdb54a4aa2a830a79e80875ab9c25c30b5eff499d9e5fe5868f74e18f5a5b87f047c788850782258883a858b730804059e774a236b6d36b8240fba05776f199f86859d435fd4bc62dc9c28e84c2099208a94095332cad7df3f3ac85c16127059894ec86f2c4a7372483a0763c184312c5b0693d09b84fad0d6d0e102bb9a3fe19bb973c93c15287a4b8b4bece2cd5b618e82492204d08bd362e0ac5995d0fcf763b141e4b7c8649c9222b3546c72afca43f6d46888d897422532a8e8dc9bea15dda40716d8dc9aa2fdbe77d3677de2b2fe32a7db2ae9b4a23e87c0732f6e6ac8156949335c356d1105e0f12cd8a6354bfdd14dce810f5e918e3e8ef1f6aec5ab310de99fb48ef896c1dca2a524d83133c275b7b0631fb1a0ea57716c02ba5012cf75d624d3d6ee60f41c0ab6bce3d75f9b87b7d3136f8e7fc1045d9f18186818273ca4223922f730a9bbdecab5fe85d316e728a7956c90510e6727492afa72cd499ae50967825f8c2a13183166f5236060fcc26d0b947eca1f00e41a3d52b12850061fe92fc86040634a1b85551eaa59d3aca5bd89769605a14e9ad25d02be48cbfdb548cd03d27dcf244696be57a5d9d43672b3318d88fd9008302cf30759878c4db410cdf06283c2aa053f1b57f0b7f716b33ab88ce94562d739d2a1224fee9695ef4b725402e85abb2c025485f3281f8ad8811de7e60cd79dc32e4de9a2fba5a174c6c670c9ede3499320144a46067e916eecdb12d0c2d490c5deec6245c125854d7b0925eabab627a4d10f44daf4cc720c77a806098a40d8334a2d7424ee1dbaa484e09b7b043b0431399fa1d787de2b76cf6b0bf3f3c7e5caae838d43d9cfb43ff64734d573b23fd46fad7e53baa0f6ea0622c14847b846aba76ab887eebee160f50a82b6b746725839ffc114646a378a4481c9d8a2250d964a9ccd86bae3748eb465c9ef1f9649e16a1cd12fc28668ed29146924c09d96634388052962af1cc4d6910f48f66f0019404a3ca016fb6274cbb7584e0cf4a63dc95e2faa026ef3af286adb213daf22814ada1f36025a7a14246a5d8dae2bdce57d7d3b6ba187908ad2896570b4ffead2bca8745589b743eebc1d3ac9877b87a0cb5adbfcb9e30070cce8362260612234e17c6b65b3c52afe83b6ee81fbc9c94ce666840447ff66c937f861ab593cca31e97de493c44eaa71f29b7bcc9041744a8246d55c0ece72c36d1707224a81950194fd35a5801674f5a1f13dc02a2faff88c06c9145ff3461f892e8c625cdb7780f96b52353478c27b3e5a97d3beccd2b565d0764db0eb60710bad8fa1ca368ea223b119f55bb2a4ef58f380758752c6cb759309714b6964ac0681efcbbef86823c3a8766001130b68e670e098d6e5687b42cfb04a5415a65d22d64c0a29fd62adcc6bd45ad39fe7bbfd4b02966205b0f7b544f7f32967221808c6fe4dafdf3d3cba304b65f902bdb3de9639bc334b6380782ad1698d2247f18a60e862fd6e69c9f0a4d4c05b2e21d52b62bc7d10f48e6f1910f5a31af7c6a0071d84e230fba0b1e89b2d6779ff30dc24658a96ed93128adc1c7be7cdf07b490b4abe41b3f3e7210bcc7c020a225beed1e12503fc851efa69c4a20922a5f3bb1c53db06a27dbf8e75c97c396f7f6ea5abe6a8e7501af276dce9d883920d6684262a751b0fac3ebb67c7eefe735013b323e4b70049a97d13d73c0964656a4f854eab474449c310d07e41d109b54056a27c5afc8bfca9b0b14beeb6ac0d552f903a3a7b34bb5ee873853baf47b7ce008020248c31e032883b225a71a36c2754312bba2c2fcfe86d90e67ffc8b28ceaee5c59a4bb0561fbb202b984d56f0763b6e3d41288797212c62628eba86d8074b312c04df3ac1999952702e156e10601d0a150566c8a019f5ffebd273787c4d80d2b8692142dd64818e273d4ae8a1a631101fb6ad9b0a7fe7086a8597d017f09a742e685fdc700de384c2f1ff51f49ec4d0127dae51c475e19221c233a71c27faa7e33a44eb01a604db05bb24ec1bd933a8da80c0438683912552a25689a82ae72ffcb112f1ddef6ccdc12742c4d0b8953a01e64ede2fb3625515b8dd3b52241fc5317e079cb29eca4c3ec2810413c4c790e1d037d730bc7081a40f578acbfd9378618f936087f1143e10b1c43b75e962c2390ee7c597d97eef83c04208e4a524e548fff826518fd823992633fe68d5a5d10d7be66c075cf33a5f33924a404138e42894bb138dc1467376081a30cb5a58cfb3b125ff260dd71a4377559587d3e0c797d0c688e7cd8c5d621ee7dd52701269755963f8035204a12ea21ecf12874c21481de5a822cce4f2fb7395e947b92b100e7578d19c49c95be620c1e793c6da00092c091b65f80346d609b2ede08ad661500d7f5cf8169b51eb0160ca9707a30363bb6be01c101313ebe8e77b7ffa86f4c522485eb423b82d8ef6e2a715e28118c0b48fe2ed93df0f57155a2627b38d9dcc2982b236ea8afc86f1d39a3becb02ddb3385ce7e836aa15e8c116ca2411d5ef1668b4041e9fb2e511c5ff671ce60204f51b00e4567eda3de40018b3490a34725d7dae4e3384ee9d2a023b866862ecb11cfeeab8af7288586163c784027909cea6ff54e3d67fada6760a772fb62f3b22da130d06ff76f8e826c5e1923e4675c08c66103b49271d37811be7a126378d57eb5a5d9ccf075f13191f7a665f2549a8a6d91ef273068dfa0ac9b5644fca2e36627d06c6984b1977e1acf167cd1ca82c9df3cd2095fce347de153dd5ad50fb84584063b1919183234a5a99a34a2528e4a6cdf6207d7978ad1acadf0396ed592a686354c8e7e4a2b31a9502ef4871a96659ec3f5b47f825d0b941db7bd7e3964a0a6c12d942b52d6f629c20bfb7b149e4883146e3e676234b28ab45e4995cd041f0b871791c0671db40e34986ccb07be54aca2e4241e3d3b492bec5a5145d732893dcedfe4959862e6312ddda48abfc7b91a7f69e5b1d241206033b97b1ac53e8451cc29f2e8b694294c664483de1ffafb5b7996b91b2f667326af125077fb81ff9d5fe39c9f6d291a5543b9ffdd0a2c39fdeb348dc7037937938c2bd9daf391c14b8086c31fd9514f2bf2d8c79ebccb3541a8cc325790a56de0f0c49714d9001659bad6b830002ae6f79ed4fa311dde333007bbd3f5e8271a63a8e56585efe5f3d74079763c3f0ecdd69e1eac7250e026d300666b06df6f42e5110e3b7b0610e85669a5ad6994c775e9149e918b9fb0d7f8da7ebc4ae27601d6a7fb6e6fa194bfd8c12b00984e8e2d1361ec123109a0b4486dd8539b1b9add470a8b0c17bf732071ad5ae1457b88199674b6a3e8c2cbeba1bcdb59b0c4c2776a20388f7ca0d33b0e43822dcf8d4f4487a20ba2137ae1d2cecf39bf55f6df171b2627080186538cc3ba701d299e9b28d6586dbef2fb760e7674704c62d33b8172dbfc19bb218d20fca8f7d2636eaabdcf92a8a32096e1ea9df1b60baef43368475d362aa489bd45cd1fe66a5842c4d413109d3f91a855bd48faaa1a34379a94be2c8ccc541ebaa31083092909ca44cb702c2c8359f51a1cdec7548208e3b9875a89e5c1186fb54e9771bb5594daae94ca9a8612ddda3f2a60d1abec0ee62d86ccde139912a0e047ad123d686fa40fddd1ed10341aee32144e69d534e3df54c8e51f8e2608ab15a9f8f45e38933cc798e725d0293632b2abbf662d1a2be8b69629be656704c95826a4ddfbc68560b09ac348c9f59865575e7e44e6d873c245a9f7ff51701fb7d53c64527602d1ccc22f4f10ea7f0143e4daa50a7dbc7c871dcd58900a99097e3ccdcfc1858276e07d5767ad29ca3ae7f8c8dd3410fc7392b3e53b3564cc80b16d3516d75c2b01c004a2221acc9dcd70cea14f683098b355af3a2f2ec854b03457f0083bce47b5bc746e6133475f930fa6ba02666745e6abe4cc5369fd7e4f421e97b3a166ca44b495b358c1c666e21487db0598c5f98082347514b30bc588112f1c1e95275c3678e4ff45c2e8590e4a97ee9d51e83ac4f2cb39d1832a520b4652e3ee7420557b62326d6504423173f0b53fba56fefdaff4607bb7cdd6b5b60d36f6533085fb61687179d73901297e16ce1cd6668cbf478dbcc2d73c736391e5ab37a5208ea0924dc63af1af34ae8e5037cee135ec8baa2913a6cdaa2ddab7734085946bfc2bf0498b2682783984fce559a5c6bf91c797199adc835db0c24f5f39b20a93fe811a6e7db00dc19cfa7146a4e95b432907a861d3d802cfb58e4da44fe4b0005f79080fcb3e868ab4590860ca611a5936a1d09872c5b7730ba57afad22fe4ecbc3f5053271311ff7ed5178da3ce7498546e7e185add4cb26358a5d4feac64a1b9393c98c9be95aa17379f83b01eb2a69efbfa18c5058e901255c16429314db201ffb2dff12c527ada95eddb035093f227259b2f19f1e1a16140043a4373857d1cfd8c7f69a52ece4b4da9998598111064e8e83035f97a2db4035c8eadecdce353776639f8ff5a297db0539251a8b1950ec366919e7f9bc84c763cb20394010cbcc09dea99990d3978f95f620c028a1f4dc293ee9126010e327df79e059505d5d0f8f592a68fb9a7d1932c8997802e9476f2da168d9b8d9d31c355cdad2f1f746bc5bc2c4097722337f951eb1d55def364a81e3ea0ed1bcd4f94103882a78bac3d9f6b9bd79b82bee7976dd64287f8a900d2fa9959530d6f4d3c653865753751520ce4f67ff860f2c58ba85d44a6c349b9bb40a5598534e52337b4c977bfbf64bb51741997d5c01a1454a63e21d529177e2f53833f4e16848761a30f41d310a754706cccb111a248c4dcbad727e9e54ba797d17754949b2175a0e31b35957dc3164f3c2d320924104fdda8883a2b41866ea1ff31faffa79802ca7da64b5011d0e7ed7bae2d085a2b9bfeee3cdaf72972bd00fdb2cd75b5e5e9dd24a0a1806c7ae03f421612ff3e5ad8eea5886aa999549a661c5b51b733d1abc9be32f41d3d7d30583d59e26947bfe4d925a8979dc5c6de6f1641bce1a3aa189f3b7d3a60df0a2bdc52a32cc38643bc23dc35789f956ad624965d58e788a2b3b001a4d57f6d67f77a9ee5db9f7c1f787b477af620602dfd6147165f751bca0920e18bb060ab2f7f44a9c2c28954f0bbe07dd51bb10fb83145c616327682f3312489e53d7bfbb96fea407fd39cbb89cded0a109df245d063a8c86f54606bc3947a84db3b84143688c4e145705503b431eba9d941646d915395cf538562e6d94eaffcd3fc8229fea2fc28ed7bf06385755859ce0b78182a6c588b08fd0db87f6a029e53c524e53022b2f1cefaa28e8c56f4821b9f8c0e39b1743b28f72705ca9e153ac60b57d03eb62828d2aabbfcd3e74ed59cd9acda209cf490b5735ff491d4c74b18c66e54e87f427282abbdf52e06b19c6e71bf224f3281ca481a76aeae219cd28e0f04352455c8bac32866264ae8f442b0de3083bc9742b7a309fa6f899c9938fc2d420d3397c9ccdef18a0f31ef1d9134e7021c1d4ec8c01c5421a6a42e38ff69f669a27c727c47fe82488775d1e7d54509b603f5047966cc4d5ead789fde101787c9ede26a49d680b668bf80468b3db23de6e32a16b4266dd7c643713cc1dc330026be0a011e351a8358312cac1871a0a6ff353e93f68051a7fd0494ad67279db386e8b51b5aaf31c83a397615b5a4bf68172d2846d3b0857eccfdc56a02eff4bd38f0027c4cc733303f37c2c78973c0783a9b05d61047ea5df9cdd2e3b1ab1076012bc2507ef97c8a682699ac970381face8a8704ed3225a33e6930ae73a52b7d4718be355b74cfdb79e2fefd2252e9490a178254ad46baafe71f683c3b08cdc82ceb5dc54bf8d95d018d028bdd0eabdb51557e33ef4d361637d8807a6391e3d78fd00d07ff1c9fba9c07c7271f820650498f6c8940688ecaabca5f51c5ab947b0a3996b4bdce451cbb4e2626edbcf48e99f7ce4bae75fbbf060da8cbb57c0e02f506a4de1d9a23f8419277649f731ebd7e164c3b42338ec8836f0d1e5d31e6a22237c11a7e448ff02c0bdc31b865a0c709b8d880bf499e72b3dcd451ff851cabb379d65ca3daa6bda78d965769d89f6cb0f59adb7a6a202adb432d011a55e4a3034357eb11b671133b8ff519357419c4cd6cc42e88eb35ab942e2be1a0815f931f276c682d19ce8175d20c5fd3bc261ff808eb8400ab77e4863f1fcd804951c8a9c5684f129ace1aa902ebfc4f1f7199e246a9ac5c4feed0b4e40ce8b4c1b8b51c38abc8bc74b10eb2d77b47072137e03a63949033ba664bcf84ff08e8ae4171265065be6fcc35a9eadba3b1432273095b3c3dd9ac27d6e4ac9c545967a58064fd0584725ce8f57d51117abd1b24bd3f6e5316b2e28a694fb0cf69c1fa8a0a9b6c6cb432f8d19e1fc64ef35f8c178ffdda91b4d3c917f7565a4de76858575d73fbdbf464244ea09e98a76b609b6946c8df3a020f0414848aece109ef890fbb7ef4300ef977e174cf140a5021ae6b0fef4e0ca04252e8af09d70cc1df5e4f369d4bfbaa4e68b9a8c7de53575461877a34a8db887a9799e016974d510120dafe2dcab54c06cd442f11ce49ca360676a1a402911418147bb0ff75f740b1194636759768428adb45aa6200b203b95499d6881c5e499244dd1f9c2e5c9dd9f80ead208e89c4e5a4ef5577b58b7ce6b615e1975a730bc7333d2968c8637ca98593a40b62894b1f8515b4576e3c6fe767f6234bac1981038510f595eacff8d04dbb5552082f882d0e767b33a3ccd3a869bf60ab6bd8ed5be4644525114bf6643a2bc6436df0c2285653c3620adc4146f3674b8f4c7f780679ffcf0aa6bab3e672507f9fbb990542e6f91f47893b44ada515ec5eeec842fb8d5c60ddc07fa2a6fb7512b2bc9409c51b6afa2502eff3711d303e6a63135d345724b4d09ec5b2386ef7ec477158da033be4f26cc0023b41709908378566b337c1ea5add04ddad609d4895bb30e034f181c758cc2205322733f0de9afa6f483dbfae7aa01251465bef94deae882b064b85377c5bf930c44eb271e26dc7ab5d605f71e85d7b3c3839ba605c5e5adf098e7cb12f604e412dc9455aface3b54a1cd1a9621c83d7de89100fae5193c76052ca075057234268f506cc981baeb8388f1c2059b318d39c41a63a76a6a11dbf12cf0a2e356e62ba0055f6c3f3b3d6bc586ef8d4425aa31aab9d1c68061f60fa35e0c1455e56b7543a7cae34109f2e034404ed4cfce1dea723663cc5a1d75f1920141de5585014f358db03695ee0208a555392808245984751bbaddbfae3d60acdfb624a71092b9ff9d1456d05f90793a2d92f6c4eae5a0967ce144a574c98fdcec5385495e1f811319658f67edcdd720397c92dcf4ce8a95352d08c6dbedbfc41cf917c40b5757af33cf38fef8e27f29685f2dfc0077c83942b608ffcbfeb0faed1695fd4a5bc6df768f986d8cf58f761ffaa278d81e77cb4c16c2c43067a2942933b5c757b7fde01bb4f7c53c59783c9e37eba954f847d0fcd91533d585c0e46e70a631ef82fa735b9f8313a9dec031c5d06c7dc6d67d927509d2734e3b0c74097bb0ddddc65d29a8fa285c17c2714f708d4cb473726dfb0430d48fccea3c553aecf48d3498f4136574df93e7fffc8d72f5a86b6cd553bfbdc482c79137f0a7d3fb6fdfae10c5bc6834ff613f282072af547e35120d34764bf19f2059ec4d994848383b15684d0a2ce2ead3a54f610383c5153d077cfb24af581ab2c05bca4c34923214b344b17e033f0098ec6bec9eb75b6e855186725a3db1c056d425042b901a1d0d24f0ca4bd0b164f879ebcfa7e6759ee6d386737b45da83b8ec3423365d1ee110062f9d349101834998cb7b433f9d5a9698ea937b35bda838463d5af4257e6d6b3357717149448a080d6135609e98471bc634dc108370ff1e78fc4d95a603da65c2e1d902c50644404116f8b72b38d44db512defd1e4b04cd7b53e5f1e0dec0b19094bd1abfd1a7bb9416cff7ffe6baf25168710e2bbb0032d3c2940ed7719373e2ff822f9a35f524775a32330efcfdf126a6df35dc7a4b2d4fe9876422e8b4d9364335b819a849dc0e034ea8bdae0db34b257cd1b978308b61a1bec324a3d46de61761703686bb80765fa0cf6136d516de0d890b4537b17d3d94b614b660492a619e12a096bbabd249735ecf014f289e2ce0e276228022970bff9474bcf2773b1cedbb2871d41cc3ed6717f6f5483f316aea578233ad72fbff9017ad86f2c19978aef1edb813bbd7fe21d1114d33c2dc9393c7091639e904e995533c57d4fc9efaaea501610ddc7a0828de62d156bf65b5b6bc899054801728dd3612b0c4eb2cc8b120fdc2e501d211038b98a81dba31115673cd8da73563e89ce0399a48bdb8f27ba2766a7ab87b53416e43939c7d7668314f23ff31520afdc703bc6df5347a4cf67948dd15f5ef3371a77e05a1ff4f1261dd74f9f06147ae6ce7b89cfa73e6007599dcc85eb82375bc822d813c91ab920243d3c00c36a1cb694715cc14789670b7bbc721018af2693af9bc8e43e4da4cd71507c2ce2740f1818cfc9f2711973aba2a26fa1f6170624ffa4deb0c1fa511a6413f7cb5ddad95b4e652581ae5f45ccb268f5b068781b1d4d28f13d95aab15dbf0115005745e843330eee08105ec53407bd21631edc47908341ddfd5b603bee0d54555c1e29a813c588dee3738faac13c8da15a7d3f13cbcd7768dc0eddd3f532b6a7278f4cd799c7b42f4ce8c7e51d209b5797a22a9132e8a5427017e79e7f89c3267bd21de53be62e28fd2a0a0cac89132fa5b183ace8ea875664fff6e04b13a609097bf010bf8d3bd972b8e538ae8add2c5a2285316f7763bf3f8a4b1a00c6428227e71472ac36f7bb8ac49e614f53ba43823e6843d2a43424834d3033d3b5e70353699bebe1508a6a03538e3ce5a1ec2e2e721071e177ff06273d2cf0f65c1f1cc53c2852fbd66836b433967d7df895617dddc2973968e8fa5d96c034efa2ea210526dc61ed4e1f26f837e2561ddc1f2fb9f7f75f8f2d79711c31dbaf57357a5a4cca087781b9010b62da8e9d038bb259a55bab55fdc38af38171eea7d5ae614f15ac9fad14197e62935c6b6f0b0434ef42ff9a074ab2236a7f268a87c7540f36d3e5b07761d0a33e7d46a9725ef1d59f949cdbb99132a0a5b0d16e93c325113552b4843d36cafcfa9c4a311db6cf208f070c54c86220d61f003767b2c4bcf9f5384fb5d3a2d7c3b6ea552b5be6d04d758f22c7ebc915cc16307a2d05c340eb3bd1147f8b54d660d86894429c13c76146742ff9a8f9a949d1b3353ef69952343f7fd8b2b5a0ca4eb0ce009e7dd9510e9ac7a5755ecc780d67aa4af0d3f892a0bb8a6c45b33f0f15970bd71c2a8b1fbd58774891f3758f80344045115a4ded3d33951670918d69ba380456f6a1d609bef7b96a5853af210148db25d20290cd1121700c6027a3e440ee0caa69d1561848ce7f8d0da02e4fd3f79c363ede82a761d6cccfec8c0ddbb470b707d75298a03c47f7ffda7421ad381ca58db7119224e5c262dd1b2624f9939d609ba0087bc11b63c102f0f9c034c2f5ebd97481232cddfc7911c73d4bfbdfa56e86128d3c0e9ebf164450267f1773dd3f2bad7a8a993220b426f84a302d798a00cf0832df9e2c2d6e1304a772c06adb33e5f72c1fcf767ca1c679504e188b8a69751ae3e5cd5903c09f2376ce09e52cf96556c0d1fb35a61fd7ed5a54c973b68cfe78f7b0e12c0cc61f08847f35214fff6b34c6da99ab1486f5e602ce5592569df19e1e0f9d7346a00efa456698ff089615cc44d9be43d4834aa049dff5b15c066ecbd43dd97d9ec2d89464a1668da2cddbbe3227186291dd20a3306402a91ae401018e011f30e64986c5f0bcd51bc1a79b8a8675d347971f1f6450ca397e8c8d4f4ecc5148bd7cf98422bce1984d9c4800f48f67cbd46c52c484c1cc10491996ed16f46c2085ac713e969dfb1fb4dc355b70e5c186531b8275ec46da73a79757afbef139eeac615d4129dbffdf5448c6790e68929520f1f880e2cc2940fcc5cbb0748c91cb8540c9ef5d730896ad64c69aa2b01450652b96b014984b7aea3e83a31a298bedb40aa88b9d0c2f4e9600677d59db3a7c04cf8c0917929ee3ee40a4fc35435bbf12d60f533d69012ed79f8508d289ae7f380aa0ab6d0891c248d7e3c185f75a701d4b228fb27bd837171ac21d1729d9d276e76e7a6fc6c1579ef23ea3d2e871141a721fadbb9ee37b251cf61a078d8dc49edbbeac58f06d07a06c78456332f388786fb18ffdbbd5ba556a14a91c6b02461f740926d7395559728d61e2a12642baacf6d961332a0fb30cae53fef697c693c7dae5e4561b8bcca1ce56bdde8ee2c8b8c0c406b699d5f4ac4fabb29d6ca30b4aa19283a23848e9e167112579978f319fd649fc69c3a3ac2cc48c185d23cc2304fa70463f9efcbdf1d67852a6195fc8accc3663ebc951b1c038eea8ad0d7ab7f4653403627ae11b163160a05b425dcf30c5c2458754f6b330d447cdb9e2e1de251eb4eee5c1e298f0e09e71c771a3a8c4449e62f675d7cb5fa363b4a99b5f495ab3185a5216e19fd6502be504e460a4a6680d5d5e7b3aa6703d67f0a2b9465772487738a80c1d7b019eaaa40b6070ca031d85ce34c1d300c8c8463a4acff588ddd58b4729ca211e86be7913c58d080c4c154315a6643f9cb928073734e915a761128ab24fe00609efb9e1d0776e8e7c6a65d46c708d19d9fcf198e485786a93dbbf0d7905bb6614f26a5a1a1a3bc446d7fba9c4d1070ec43aa17ae14b1712f22df4d4dc5e2c8926ace08806d97131ed221373088169366a19cfca7673c374de749dd88bcc0e49c39cfe6b59019b2e283b77d6f2c57d07fae9b008c6c94eda02d8ee63f1b60676595592584d65a159443d0db83f41632ac2afe9c4e176427f886efab1c553b7f00e25297480121b4e2e2b0af13f2266a7c9d892ce56c52ae03ced035f156401932a8715c42866c3b02437d0d7ba599676ee236024e26f26f8ef14908e0d2b36a77f631eed135d28618ad21186396cd6dd39876fd5b5eb5c5e0b3b5a36879e0d69ab42fb510a8be407523fe2bbcaf80e108002702d3133ab976773bfdc8aa3a5f6f260fbee040e6b2eaf74e884e795bfa763fcb51445aad4a07e2b9eb11f43ced2784794f571b749629f2d7b47d2d49dd9adfafe2eaed003dc314fffce9f13374962a1f32bedc73c98eb968ea2be9439a83019bb73c293201c39e351be2d4e0b3ad1983755e887818314fe7d93c3615d20a0314d112166a8477a0ba86a832c9055c9b8af20d36ba6a7473a3b7ae624956fc7c137b3ae9060d50bb1ba421b3f60f9e8c301bd531a209d6ad62741dad5fbec1452d4e45be069556087713e4d424d295099863d3feb9986ceba6375d50a7961502139292f970389445ddc24cafc09d9542e8cddb4ba19885a9b2dc39607e5c5e9157efb317e258c7983211ad9f25f2c266ffc35f851bf21a76252da508c803c9d7c6bf6e977b0e233b5d4ac3d16547365dec3099b2872ebda570260f8a335b51a30e2019d0afe3d5f951399392b6c9616a41b020fbfb8e6064eefd0157bb6009b267a0434c9b628bcc024e5787e0e1d2b08effe05f9877a2174f023104bac37f12dbc2d1fc7a23ff730f88d4f7a185c10cb8226f268729934054b419f5661749d60edae759ac14a065861e1d0a3d0e561f72fe531025fad833ea6cc4c9bebc270789cc77fb9d5ba4afd865d6833191eb5e590fe4b1e3ecfffde0086ff47044ddbfb63539b10bc38037cfebb58b6894be2f7497e89aa8decc1452f5b42e438daad03abe03708c4a0855be96038edf8e40d74f8c346ebff3b6dd2ef9cbaca2d961aefa7688e0445d767c611f61f140d55c4c55a56e77e534c09632236118a48b11950cdd80d8ab07789dd343ddde89972de499b1ba053b4d98cc153c32931b9691ad00a67a74e23c5be1b5281542b85231bb523247725ce28435efafb8f301215a1ced2f8e58b4201865f459fb4e71f94d18908b042f0f78ae2d4897c0cd0d40a269a6e8fa836f77469924ca9e6e44362271857e5289f11903f1c4bcd23c6fdf3e530dd9645c519fc8fa0db55c7c49b5203a9f03a958594b7d23de0cbbc3cdb363205d0fad632e21b5db5318f00cc13641eb91fbc99e10fe75a673b94c82b821df2effc81d3e10bc534d3f171d31ebf8ac80e0c065a119b882c6789106a2ddd5f25ae3582018260ada93a718573f1c7383faeda3fa060654539f40f3076fe815f863e2310fc7a8b0c74f799d1d97ccfcf351febd34c6e91d4956dac223956d70aeae82c94d4cdefabc981f4f937aa7a755f7923cdd62ebb7e566d9ee7edee9337ffb9ddfe256cbdc17f5ec2d80f0ff3c2e07f47b3d5dce92ce4bd76590952de95f205b38fb5948129d01ef6ac33547f6aa99ad1e74720a8704ad3b42048af5ae4b9847dcd34b91ecdd240384292b935b26b872e718cfb1900a6d481edab368f7d6c202458345a513ca91b110e4d05daa09ffe113793698911b9a369eae300dfa3309b42cb6bb2a5f1e22341a0f78f5cf4375788b52fb464ac395343f9a3cc9eee9b34d5cc2b1993ad07a24cf3c72e48a2aabb306e43ad260c92c25ee3634a7cb2af96ebb9ddc8a0a46de53952151baee32b296c920df5ec10863a5f289838815227f392df806a4cf69279b5924c54488867532645d0ca7c676cbc7576bbb07580a7c814bcadad1f17941f492999165e5c501c2ae0302c9a2e201ef949ee7417350c3dd77fd01355d90813963244c84963f15f9a44bc51ea1bda6b230b00c9f78f4aa0767606344b900109f98621ec40b82e867a77c0a7b4f6b576c1fecfc263a5138aa3abf93ced7a9a3b3dd1a5f842878c74477cf4cb52af24226447b3bd1fe78a6261c5a9ca3696c898cf12bb59bb79bee50e3b30210a0a2b8cabfbfe03bcd4e149aa6ec9726c3d0aaa5e662bd570a323513b3485f2ea67e781b1abba1a66ae7f9da6c180dc365d8dbf85d5db2fa178e8987ddfde10721b3ba31ad17a37369097fd04c4779bbadc0637083c783dbca53769991f58145ce4c7b82762bff15f570f866183b92f99631e5997f4933635081e5fc69fcb305d7ab494282f1542c9de33dd3f383e513330cdd515d8af627f1553341a838bdf0db72039d0f9fdf6b95aab19b72e2708daa681ac9685c185daba65000199d2a73db74035053906fb2d87bd65fb645a5af4736c2882e28e9666e22665ee730ed4004642695ad1b81c3d9ad26d5908c1a098807bdaf1cbfa0abf07f1cf345518143f4af97543c15401ac4e7e00b81ba72aeb6132bf6e2833fb2618ae766f0777578819c9e656b87da066cf029770b8089577b90de264989def7cf49b253dae0919edcce6801aab1a690d4c86b307c64c6f6a9f7bf757855018c5153b7c4a15e256e8f35c0f17a29ffe83ac3beae2b2130b42739217a5562e3e652f0576883111b2bb7f222bcd3624ca96e77ff99841f4d3a855b7aff8a302edcb69b06647387413baccc0924a33191aeae5b1eba25083ef48708c0337b4726b1e3ab052663ac4256a4668452ddb23d6abf2a45bde124c8df54981c5a66a9eaa2c1208541614abd303b824c4eadc18309a5e45e67d6e4016bab260e1ce06cb1a6971d3ca8d16fb1c23a88dee60222a6c311704109608bcf8eb1723a27562a606b8a800fc7b358f8bed97cb342670ec6f6a3d343a1e511be4182b8c3bd52b6e46533bd878dd0a2766d4f94dda1e36e03f9ad1860b4534de5682628b6ff1fbeee962f89d2492ec9e8df7fc15d4e3e3c1a2c238f119da20c9924e739bf088f380bc1ba70648a3501218ea98d3201619f5b141ac8749d0dabcd4141ad2a292593ad87f84af4842bce70bf473c42f953b0f129106c866efd462fe8f4eda8ca98c664286741a80a6a0c3a57d16fe91d106c9b2873d941d93a0e0861abec665dd5ddf095f6101920ba666e2a13e580bbe4d18331cbf61a95dc65845e401e2465d3f7b7e717423c11de11c0c833426a0d26b0560f0811771830e7fab3a9f50546b70fee663ad55d740eec015f769c4437c769228a22da69e05d9acd1b8aa74680551a0f0caa9ac997125144c05aea3a46b516312fc71d4576d4af33a112e6a52007405dd1a7db88d9c78894b528b21fae5a930a5486a084ef3c26f11f8dbf2fdb91dfa9258a06d059bca9dbd48807ebd923659bd97bbe75ad7650f4f9b84870bbd3633e2e18584366daee6ad9ddb79c6e58beba32bc22404a8ff9381056cf245da5a2e01110d8278b98bcc764bfb0c3bf3be7533a9a009a1ad27b3517bf4f3088b72226a8a60ecc7a6f8516aae3d3942049e24213309a4388248eb28772e8f9fd8166b55e1c10833eac5f0535bf5e98b04d4d1f9f2e421514c9021e709391d66e7c4623a561da5e4b9f6da5eba38e57c5cca084b9143fc2387b94678fc298dfb471e3042b6292e142630b6854fa3a8afe34d97abae3f9a7d038b331303acd05e0284e509f9777661ac01d29c5d6b8921243be866bce53fc7711c624ff88a262e13ecaac56f8c9e8364f4e885bb465331dfda1edd347b892ae5f140d5a7ccf2eecc850663bd5c916fd2fed07b8295335bb0d9fc5899dc25c167bd5b5e59563f5638329c7ac496a293d9c856faa6bfefb1eca6e3c975227558b363d8c1fd4c758c0faf16af688f18fa71eed4a85c9c802f52e82b4de923c7da5544bad69b123348dee5f654886fb023cc8b960c3dddab1bd66ca4e33cb8b5b7391c7aaed1838552d054bf3fddf740aebbe5f0483067dcb1a25ee1ce9e90a4eddfec93e6994cf642a95841210e338b1def9e2aaa1f7a908c2de1bffe93d0a0e5637f6e5777e1b230918f90644ffaf78b5b1678e2bd44602937352114852cc901c5d25514470a4bf6527f0ad4910ca21eba7f9ea2516c93121f8d77fa2e1d2724a669b097192af1e7530cfca79cee3765b685df3a338fd43c96607503277c2c9cbe86c9b9c2db3ac2910f82795c6aa021eaff0df5d47336efdf2e9caeccaead987c5e42e022c0c93ba75769c3ea4a03012e2dc99fa9b29978d7fab262320993ac43d8a9433be0137d269c6efd4af89105572f75d8cfc1edbaa0cea5c78218bdf83b4ec25ecc4dfad1f055529ef7d00252ecf8a6d99ad393d322e7a68c071f8a7ca067b1efd50d805f793f6755e4939c400176a2956b37cfaf99dc22cb37d7270ff7c164104396696698a8f85564ce0007f553ca429399f140ed3aee053c3facc26072a71d166a5a21b31733d7c7144c94e7fa7cd47dd54a8b0c05806bbc36bb6b44481484663b1de40488b5f996bd52a25346827a0bb3c79bc95c1594299cfb0b8af4da32ade0ceb62a1a3cc260d56c7fc46306a8b73c6d4fc1e4c0bf9c6d456c4a940f34bd3bc892eb3e3f121102ab0e12b912c990f94fdb55330accb99fed20f1629ed7b7d29541ad7d5fd7e7f4a503581e506e118248568097dfefe51a311d2a52fa9c008a14b3bc7b7da40e2b88b4a8d785b48e1bc1cd9f3bd319635f160d31eebff6cdd44585288c775149c1c12e70ce43d1eb0bea15a41345465923130f37c8930bd61420340bd05386d608957d357aa7af8dec3e11d840cc533ab24a5beac0a834bd9adce0930a7dd9dd192cf6fe89ea240ddd3d7806a50d8481ca867f6a7969195472a9425357122b8840a7e828695a67e0853bbdc7909779719b3d863448bf0e15d0bb3b0ff32fc3a1dab89476a27989eaf51c3b6feae9d929e36d958ac0476b5578316ba9931e66126b035b23040a8978916b7778b888a830f246e256cc37de922737e1318bec23aad3d4d4d1688487033b75489e011dede4eb6de60ccabe04dcb30b5fd27dba9d4c491fbaf9c8026f00d9e9da03a7da79b66d294b6cc279a3747aafae74e6d5c9032b1aa075b72edfe2ad034bab3f7d588c32672e6dd913f6ede0033064fc58adb913859bad0ff236bb133109b5efba33fa01fec504c3b3fcb4f7ad418ef5d648d1fe5e50bbcfaa21270a95c5b3a119b71b036cdcc3a91679fbece538552c2a874463ca26580d6558827a6fcc308d072b0c17527535ffbd7cdffe72531a5070a36112251d79cce9b6a38c080cbe9e54c2f804e066776d8933e375bd4b9c1b587e311d39a35a11feeea32084ee07f57430edcea987378d8b50f6447584dbdfb930d9cb06ae2d8eaf89c3f86e6c2bc9841edd84daa2d681e4b516a81cdec5ab772cfa836453bdc87d3af8b2e236bba238189dbd68b07f6f821ba445a6377f66d9736e64cd3404ac1ba61f3d0382df2d39e332c9b56656f21648729d03cd36bd001fc8034cd49400efa2ce79c64ac601328b259b31bd7d24deb47fb1364d2087e6d402bbb1e5b71f34b20a016cc866decec75228f095718729b4dbf37a5bd01046e58e0e03d6cf0b689815cabc6151be5b42129e7a1ca17567269eb155e7e1d805ba46f1b392cf80b4b0acbf4b2f914cc8e543636df575123499042b4d138bbc5ebb1af7c5c207656fc8ee16fd9698a0d1055a5076c576b81c5c9ae582f3e72f99b762de5f3b4e144c1bf7883a431e6b90c8733607478761e3e02ea32d2eb37c6334058bdafce3cf1e7efaf323a17f68b718b37b5319033ac976dfb13f4f1c908bc50d9150a747bf64f40cf56b1d614c57da25431922d20421682fd25a65d40e1df94d2508c279de96b15bd76e3435d25c04da91e794d3c8e5b8ccbe40cb612edd108fd12a64667d8be39b0abecc7ffe08b6d1fb39e80bd2643db32a21f26e5968cc941c42932ed872d7a4300f9fc0b8276e8872cc083b3070cd2f3204c145929d6965432a71066b0a1bb3637f4f0df94b9b9b76ee80649e3ecf6f52871275dd658369fa5bca9dbc7bcff0ab9f4a51a84977c613790c2186778539f94a8e3ccffa4a53bd4cfc3b64d745d5b875fa72ee25ef9a400a212e1dc4407293bdbe690eb902698ab0314c5c16610879629c352dbfedae68eac776ecea093b604a4baae0db48cb55d7b3a4dd95617284b1e5a5f57033fa0ca8ecc6d527634944fd13e35132aed085e85bc5a921e0a947b44a5466dc7a5e2bd61a17a8d11768b9bc886d23bf01fe604f8ca4e885b26148049bdc29d5a7e71f70a799cbfdd7e8d51a01d05e9864e740a2c7ba099c1ac7f94b2582839abdd5a05ff9989001790f6aec462f985bb8d3cdd24e7f8d2805e3f1be4fcfcc574c83878858e04621966e786468c148f5ddfb49710d7825ece9c793e889ea316b2c7b24aaaac0217db1ea452600b1f5a7bccba8a0c6a6fa8d974c4c6c5190f0206cce2a5e1f875309201aa10adf666761a447c9586e8659c1d0e123872a45ee8206040ab57889efea87aea671a95754401ce35dad024c6027bf1463e677820c8480074740a1d0a6ed738df54eb86ce5e1e2c566656302472e43936448c201607c635c511d979df2be432bbe3d5bc8aecd2d4c471d3467f5f6d792c97c61de25044f784f0da9eadf6c2fcc196578a8d03598855b9212df77f08f880298c2feae0f365a78d177e6428b9da2e951958874e119b6e795f08f5925c14bc7a55ae25b0c892e7b68d12acad62dda95f0a2f17f34c04a468c751783147a5bce1f74bfcf996b09aac197ba9cdbb2bbad29ad8cdcebd5941efe190ecd14069b1bb6019ebb4b135ebba591310a3817314e891acc6f33bd6dee8b3648b85a7b913116ea6c72886d5d50eba8182f3f59d3b48251505b1343225e6bb057f27ca8feacc77ad586e52467fe15c85ecfc26f4a5e845811451361f4c5986e8475267ad1dbeb1b786b19ce664a609977743ff808ea7cb9f8a3fd2ff8f63cff7f7661f4556ece6fc9555701d1e5d40ac41e2a1676b9c509bf2899f5c710728c58bb6f0c6fb95bb50cea38ef281416ca344d9bc6e43305dcd128e03a1fa0aeca9192ca7c43bb7aeb13c69f6382d2d700fb11898a4527e35613233a6ca28b35cbb4df8798bd6b66747024f241ca2038576cffe4847a5123b1a7063719842ae77620d6aaaaf5848d2c14cd55247bb659f8c456ce3438c0b3f025ad9543f511ee3e6c452361a942731033f389efb8e719cec017028e5b7bf60bc43229c71d874762d06964fcbc36106664c6c7149ee13f64e80b8aba2eaf24e59b75074a652d18b5c3545324eb6c59fa3d3e900924efe0a8f0e02e968c5be36a0ab37d23b708f3dbbd7bf07cf703ce27143176def76ca2289fe47a5b608aa4919a6008f3e4f35999447fb22ba01def12c6dd28eb52cc6de6617c70917d8cd0e64b6b8abe7980fe57c256a245cc9780113f7bad70952d0b847405179a197d9cbf47d707b0392e7a5c625d8f9cb0f7004d8f0e7bc9fd84ccffdb94807e933ae6ec40969a91ca72d5e2f6ce8b4fb2ffbe7681baeb74fa6742848173f13d732f7e0bd5199c3db41828c891a4b895067fdd1a55675b5feee5915c1b5ca16d2e850c19866f35edce9375aed92f2d731fb68029d350d077ba31ca2629650a575652f78e617daa4cb7c2bc1ce664d3155d86971a49dad4b0fbe882ecf6683cb4b07d6251c2077e446bac351f8f09855f478850c849e66e29ef219510198a480f26804b9a664aba3a0cc9ea3cfb665b794ed07c0d6bcce0ff0f2e8d4984967bde3da960f2e1680fb777a6e0b6eacde74603711ffdf93f42335a2507d5ba291a6c59720d9de32a8097d60e12bc11c12fef75feb8dae8f46f3ed2ec092a7c201d14e3b93c7e6f6656111c712d0d685fd21ddfb8ca01b6f93f6e5cdcf037d51bf55010eeb229a87219dafac0e7abc6a324e350d1649ddd62254a6cf1418d0c052dc236b5ae802134a90ad4db31cc8fe7f6ebb2ba2c305835f40a6c5e61f99fe2e7076caefab0d0dc744a18ff5f241d141281c9ed743b4472558c6bc66deaa6d98d0e91aa8987676d60f078d9de0ae2308bd664c43dd04e21beef30905d20fb3719666b447ca5f2643bfa5567f5409637784323a4c3b6f820df810910ce94d95f330d37496dac3219450c1a7ef94c35b154234186baf423ba6e812e4585c996755bc34ef8baf98dc04e9950358be16a352aa37204d8bd966fb3793e1b4b5054623301fd287cd316754382a84f8ad7b8ff3b5d95452aa3a5d6ed42ec9990fe183f33f5404c5ecd6a624769b8e8a87787925eaf49fce438b0d19fc562aefc5ddb98350b2722e828e74ab82d1481931730e9a625f76227f1e4d4719daa236d7bb0da24826c2a996fea98abe27198e448dd9897174d34be5fbd22c2eb9b2ce6a61a5f251727a12b3fa648d6d7dac26f16e9f8adb92a03622ec0e85820ee167d78aacb27aa2de254f37a243830c6709f8760237f38c2456f1b7e375a3964273c82d667d26c686202ba4ed964b847b444f62977cf18dc7b6a1ad875f5d5b97aab02b20de739480fd5f2d2186a425c394a7153046e5fe6419d4592cf0fa68e87082256da90d03c98401bc54bb598c7810995d5f51696849426bf32208b31c966e76aeb32cdfc6f4d6eb4f96b39df718a6b48baa686dac79112a9ad7c88d081d91074f727e2167f03d2ee06692c13821c0a0d6f866a63da8a231e0dc6327f2f5a560d91310280418e7d65baa1fce3eea455eca0fecf2f0a1cbbe8245a3c483526e909ada46f840481a7a607c4276bfa4f1f35b8f4d070cad37a0212e4ee054ad7bcfda207623eade9db76db9aa2c091ebce1a0bd21b380da90d8ab73c48f4276968f77405b43494c57cba96c0458e7004d07bf9e39e605b11b49759c379a1d31d95e049c045b941727b0649e2aaed46dfb108d572b3a2b151371c02b05f7c3d37f8382238f8bd65b2ae0ad09fb221c53433732e6ec3705402c8ec1c8ab04bf3abd6443c9b52a9a833d2b3694b5c59e0fd856905d5e168335b39d77e4195cfa9023c5e79411b9e906a8a5b8ae5e0183a74594491a90911c4fdc0c60812880025d09dba79e0d3451897cb66fc1cfaab602557f942a265126e56068cd53d1a501ad91aa56069782b113ca90e7c6009a71ac4b04827f7f91f32a1e591a81318c90cb4e6291d4bd55957fcd8ce0528d0a25a96d73b362d8640fd1eafc8bf1e4fca555c9a0465e7fe8f829e423281f29b3309473fbf9d2cbd1d97c72967a20e0b3f66f68ae93c8e1fd61f305292316ce0cfa021d4c0df6173f22460bf5f26db5a2c79d0e036ff90ef427e5b76d1e6d4a10198702ba3dcc36f151621634edcd1503a1c3a569d922432283803bfe0d7d64c1c1e304760f6bfe8abaf05fa12d89402946024c2d95b412cd507d5e3aed61e68a0a422b3d4d13d7d99599020121e4963a8e81b514fa709ba7190557a8348a64fa11fed298e5c4d4b0c757249419569dc27ebec3e7b12d705a8a5a88cd193b313ae97655cd68af59bfcf8fa90ca16ff0c498de67480e9a4560cd08835b60b2fb80b6b889c880908c2ed1e2cfc739bbaf27055938884666f81dec6a82c8b379965a28f97809866598ba7165546b9ac3a21c3afc65c65495dfe12399e4c174c6ac3e155c30cc70d173a003ed95e699cee08fca928be8ce9e93d7c12167117030e9535b23e35a0de6f5081e4a9a267dc8490bc6341558d9a362bf4399af0b05f188bd81d3aea5b42f9020a287f5a2cca44e17f33be2b0e6ada2413b90da8ea8b8e845448c34c4de6eb2fe9a11a3cc50f580f3730507a6ca3e03f425c1e65bd2aaddeff5dd8a160ced860a6d8d57ead4da15ed6542a03c5ac5c0336352f794a2e7095e66e5a1e55919036cc12d2294c921e9105bbae4e7e6d514584185b029c2a531df1e13aa9b1919d48624674084ba59afaaf3f71e6c40e4e346d0bc9932554bf4f04aebdc39c6b5b01bd9d7170a84b2c1307b92adcede8029dc8b9791aa315b452b0147e9178f71d7da322b2da14ed4432e173d9ff6cd3d58214a0bb227ea9164f938057687471bd178e429dec10adaeeea42e69848121d8bcf0ad2f1e4587cc2e71a949fe77ec4635588a4917b2d89e0a06636f535a6e18e3d407063e5415b4d947e8de842f2111c6133ca48c05d45eb56ca0f54a341cfced587ac97ccc1faa21b9065290b440afe00580ff33a2bb28aa9b36c2d196844885e18485fab6b184172a7c63c2e7504b5926efbfc19e2377932d11a361dc087089002282714c7b81ec2396b608fd9181faea2fcd3586b1d1d5c76b2caa8d1cd70ead99e975cedc7316854481453853f5a3e535dcaf2a65c83b3e314eb6e5a5264975d16795861d27da2f3a54492d0244c709b4fd4d82199d1111542785f145b5e017fc433968db8b015c94d6a48abe8bdcec2132cab5bba979171ad78a4d3d810f4c774bade980a5110c7e12194050e75b3bc5606fdb694d59107ab11c540d5e86d7e8da1ba1594d1d6a7024cfd908bceec5d797c1bc063a521b0289daf83d9548e1a2fb497099c087caa07c70b56963457b74cc8a0cce99f47c9b6c0ef170ff26d9cb75c0532b4f7d6b813a94e9041bf899ba10e6d77e9a5b3d0f537f3c0478ea962e9f201e3ba6d9b7a5c8772098fc5ff57a9e20ef5757e134330c4ca077e55fab3edaf70bac164a61b2d8d1840834637929bee67a80dd8fb1ef2792d5b57dcbb332164f244192f8498b0a0fab04b3d0aca7811db7bfd0f398fc5267b8468562a21b12579518f328ff50adc1c432a9c933cb78adbc057583f27d627c4aaf3088d086c5d93d82d80df1346bc71fa3dbd6de5f015938cd956e28d26baee3fa2a4cbe8aaecd3c3647dd79e271db8f3b8c9b15af0aaccbe4a0a65a5be0f3dc11803bc34dc92c7c961dc2a9d4d87f4292ec45e796f23014c9df58e8b005f3445dade770fdfb3e588245924400cbe1a5d51802b9c8a0f29756b466f2dd1284221026cf1e3be2e3d24a636c13a0487b68e92c0af352036060789e6d74f2e5f8577c29cdfc45878319956c1917d218e0c672c900962889d513e57dae004a45134b7c14e9dd0d979b5c1d78e18f979a1df6968731f1884e0f7ee3046721cd903a65cbfcd9737f92c96b55d70e4e3d81cdf26abb02c2b1d1dcc8f2e72b39c51ca213350236d7f448ee81a4f8277f899892443755c4bb76bd619698f4f187cc5a74d662435a46e4c158c8fe2396a2059d5a48d8459711d94c73c3f4ed207d553ed3a7b4f8b29130f018d97dadfe17b5ce7606f2aef1f5b62c0ec02d759d6abb8fe37382ca19cc54abbeb90cf84f0cb248be6df2ef0cfc44ee29c18fb0d83a176c5780bc1fdd605507e503ad6aa06079d770127e2ab7ead4e26a3423336ee35274e10c11b11da9dffe449518d338dcf0375ec83ed850014b41a133638534da889b15ce9e1f665a91969b9438d55b2165a90e20c7d7fccd37150d99e6c4350bab3a390e12c4903456cff6df16e0d572785f55814d55611410a8e11270e5089cfb1c75f7f5258c901c6647947ae55ecbb58502fd6f446ff65ea3afbb796501b8f2248a31b744502d40074ded437485ee4cd3d849905ae4fccf49f33e8ef8fe770708c6bb30247024f11b5ae6296964b6901d60bf0188de3f6f75c05a734c4383bb4febbf633babbced235dec661a2cabe9cbbebd64d258d87ce5acf98664b04a29d1e88da3b93971baf7d75bbe89f99619eb56826017ad0a85f040c041a564dd9a908db4ed6968f568489c15bf25e55fd9a76558e73d97f3dc12ebcd31ea9fe27dad75aa4ad838e4efa944472024cb4510afea6f49e49291cb28c54b42db75923ffaad0d32d84b88518abfc87e7a6cb53846289639ec6b18567c109c6ac8f4c1b828a7f3484d3f88e0cf992bb29f9dafed968675f8484a5451bbc860d16beccfd0d724b12d1c0a3e70bfef11f9c82a725314eb1307526647fb172462419ff71c625fb1935a7206acb548960efcb6d1ea223db5748005b12f19b8f4985f46378e0bd72c0aa573f9d3a052f563b300f6fed78eb6565ccdd55bc2a1c9f98880901d52ed5f3b2110e72104125f601ba7473d8849c6239677710a835e676719f2821d86df03c88c454d39870565c939069708ec14c58597472297369f6640ff32bdeea85db116723fd69daba7221811a037dd0ae15ef49f3b7edd08df05686c63b4dd52c9e0b50622833ee32895feeb8694d94232e2e1761b5e3ece87f4392305c2cd1dc2574b70044924a2c18f8bfdcf9ba1fa84907bc0c78db159d6cf237d3eae1303b0140250b0165cccf34000708651bd3ebb50009750d6c4266a660bc1aa2bc9ea628f9157097c544255c1402714524e2cf8fd199a1be3d3baf4904bd8497ca3a6ecd9e0f2cf80c37722da784e1a333266324952b741230e14ee20d62aa7a1bc7737870a9efde4c4f7a2e864f90a1122ec12e31c85beaf41c72d6574eeed9408b7e41660b7252bad606a53132fe3ec19d93d837cfa12854acbff30e6ab4f9cecbdcc509ac7327463d380734e66b421770addf2fdeac5c9b4c8e7f46e64b764d2f8cd18f6b35f029758cb7818325a7f013a33330233cd4359e6ddbaf048a1d4eb2402f110a5a2aa7115dc7624e61eea6ac752ff14b67d48407f60fd10dbf3fd847f5870481ce5edd82fc84af72c2a80bf1ec2423ac07ddd46732f19a8dc22a7f3d04fabbc34542c362940d901fc42d222e3f44681d90572ed7d3ea1def1876da04af2efd5bbeb10310a69d39eb53b5937c99ef72df3be361b3211f6d6db67e2054df3d0cedab2f1f754ef9a0e7569230083149e1b6737819e429b5339b461a7b7b490344a25ef8662087a9063233ecaa4f0f1453dc604baad6f8bd87c49f062efd33f91e8cb83b483bcf27c4eeac93a3944c4a5abddf1badcd61d897f5e9541fe9b3b049d3daf04dc38d213dd0dbf3b5e7e06c2d841ce08e4806e82f6e53f37f084ea44ae716f5facfd63315bf3e72819ce0bdf7893aaf71b51374286e50d9de66cdb854af98da51acd19fde64977d1bf8eb338f68af9a2ad845be8d884cbb003743eb0d9987aeef6caabbb68d6d33d290bb63da5377de0c9301c341715213112a09641be959408514937a730a72b15884300ee9479cf9af6b2d247f413c735ae4bd60a2a7ae47370161757f35e63c96a761125f10ba5b037c696aa9bf2af117b0e160022bb51e8d353f9dc2ebdab6878bede4b036b8376bb354c590ec61d615df3c754fe08d55ee3a4597b11aa81346b28a9560276de8ad8b19198c322e07ac36da63593b29f204bbde22ec8f510951c26b6bf4c45c7f24e6bbd78d6409327b4e39aacbf8520475f4f9bee68eec0750029ed3baf0205c6ec33cea1cb1124c5c535e956bbec1efc6c3b5422abbcaac3ab4aefe33d45455d3adf9294ec591f92fbe820375cd6937079eee18e7a5aefd2cda4173813fc571e6a4c51edeb87a94b2538e246feac2675412145e5c455619292111b715cfc57e4df2b03847207a451601a392200e3dbc4a668a8f46380317cdbcc44ec8279906068009818e069ae22e707e746ae705eb9cf1e3f161b9b6be670dabc062d54930e4acd9ac639a70f23efd45b826c99a99a953499af83161cb01f0af9c4b99281af76d24655bc0fa6a5396edd0b1e7d737c3ed150a81eca1f27d2c3ca12150aa0a415143debb04437647ad47690e0684b06d60d3ef152108618101c163a3c2505d85b5aa6dfafeb1a8a44decb55118d331b6297c5e0856a4d469369f46744b4fd32b1be1dc101ba1cdee2bf6fad68b680b8c05166fb2f786bc980279b8489d5c1cbf6fc795bf45417fc79294e0349f420c9323f1e5557945fc21b491efe31535e9ff6708e2bab715456b0522f9b7216c5192334f763ee77175232cdbd7349bf180a974893c9929ccfdcd0efcb56d7d033d4c19000453d1c873920cebb692e79b67f648f31cc9c76a461bebdedbb5d3b3db3c40ab109576c292d9953c992da20d03ad23db106f1342a0a58aac50d2b9d81b57c66d3a7ce4827e5849cf4f457266b36a6c18e15564029267310b38bcf3f81279f3d1f67b77e914ee5ceff5d35d163a6673a372b779a5c3652de73ad6101f1249d783e63fa41f17df067fb611bac6089e7cae16605479c9c65b38e5621d2b534d1eefb46361c8c9b063ec5e47e14cdda87d4b0337939222075ec9334ed148e7597a0b7a4c0b2bd8dcddb0e0eb805b97221f1d60b2ccd60f7d9359a99a4b9d8ab303635a43173d8dff1d5764335f832854526bab4e27d5123842f452f64c8ed8a955ec5ece0a33d10a00acd861facb06d63b86534869d38dab9eed796cb062ab56b2ef8bcf9d5e16f81889079dc74a25607db96573ba6697214f151b51e64afe03d131cb246deeb50051b07db6da8791fbadfd1d1eec15a26263073a302f68086e219f4cfbb94374afbead5cf037d762dc4863dfb521331ed51496e8829791dd30fbfccaf3a388302a64ab73278b4b16787403cad12a4d431a6649ea15f607c08e2f7f4a5e2114b15012fa1a205e7f8de743cbd281cb2a1cbc070e3a0ec09f89314c83080621710a5af697e0c9d5a25b1999fb200b3db74e47b47697655d0a58c61ca5aeea83eef125f76f92c9d441502a2b5939fb530555054caf116b66777853898c79ef8e6cf3e79527ad4cccaa65739158fe56d12f36bf7bc79408ed25445bbc069e6f42a49ce1f4e35c71485ebd1424b525d7eb92064a5005e8a1a96d4a2c00d731109651ce740b488dafebded9efc9012b0258cbf53f0983c30d5f8aa6707308d964f78b6beb145438e519b3c8cbc588a33e05efae3cc2e913a4dbc0b452fc3fbb8212295209d6cbe7f132e7ebbee2c9735b5db73f1bc604a3c01bd8516744ff8d223ea793c0e6b31e8b78446480f140bb0a7ae2ae115afd024f0ce5a9f724fb984a99cb2ad9a8a17e3bbd22790bf4f924ec0e5c4b00bdc7cced0d741d2701c3d82773c0310a90bea27ce3426ef1ee063ac886011ad7de1c596999b177e03589bebe8e8d7155a6253234887b64fda0218574362ba2dfb80d06f1f9cd4f35608991f89c4d4d33751a42bc4fffed1a36c3ba27ac04e40a10ab2e358d1af86d1554fe1cb91abd71e673f36739e5eaf63fb68882908ef6bda895412ebd19564a7a9c79978b396e1b8dbab675130209f3ab20b79bfbadae5e386b2f0e92596f9e3e1956d7d61655764b86592922b8448103574d98ffd5ca3b08526f48e3f7f97c176f55c192caf21406d6f3e9d1e744134c9397f30a7f27d8ffaae97e17221ce815843880cd42676ff1e7c1573710d102bc19e6253dd17905c5dc2d491a44b151cfb10fe1f867f003c8b743ea33971cd89ab6eed0b0ff201b5c3a00bec0b41b07259c40f18912dd366e5e1949948e87eae0773595edc1df3d18d75b9d4ea6e456149fc2d36086056ead371b8c1d415ba6be9fdc3ca456ef602106ec3857ebc8cbe4e0ab72745a3bc8c0a0be0f8b19f4b1786dfd65bb6907418349d78ab370593033ce947fd7bac6abb55cf43a87d99a79c8ed25c5060edea117b10f43abd9bfe651b5ffa877d4b3c98d4fe621b58ad77e9c14899752b069a87ea92a272582468487cd0c39258dd14e60cb0aa73440431c4db6d38b9c5607eb02b4fc4b607f01f9d2b52dbc0a4bb19311b691e67384d133d286f406fc3660118b94f97a3cc21635df2e1d4782c350984f6cb9f3de010e323309725e48343b28055693e212db4a762291b5e688f1bc32269b4a53f88d0c8a239e6c63e469cf53658e0218b15ecaed89cfaa43d6516de382b32e401b5aa2c35bbf039fc64920446cbb8f0894783b1d524c7bbdcdcdae5659e690590dc8e2d59de278826d26fdad23e1667149476717f20c98ea0ad9d3a59890536d343271b22ac17158f5c77cca5a73391f9b57e5728d60b70783ca9d751701766f6f607c4365022ba9bd0c427e339fb1e60b56a9d0dfed7d5edaa931a41a3bf315275973549a657ff7d5735e6ba720eac4dc2a8e49da0df8a8765d9fbd8b956487d048058166c2fe0587418a2d2b9252ef0c41e0169329128ca670e13b4fbbf55f87319c02dcb5408495364e80d5b88d84f05fa3fe6835209b167d3c0f5067d39e1ab0ddbec6be18747675f84cc916514e9f3f5da696e625ee8ba73a332762c8887c9c30657c7b0e47cdb7a6059337d2186da5ed3c29033d563953ef50f7285e128dcd52b52d32e42526e3e54c779c8c5b2b873ba287cb82f90b39e038ea62164a76d7bdbd9032c0a235f97e3a24822ffce7514b88039008a1fcd65447ec2d886e5a2f8833bb96ae3d2cdc3d2181daa64aba649836a092b13195f5dae54c1f649cf757a23ab85ba72d7d28daea8897995b88430fabb8c0c64c98f3ad3fdf50d1442ce397df2760fb2eb3cef04b2fe6f03b414077602a09bbccc51dba4c98258f20bf4ddaade3b159d05cefbc43a2248f4ad0060b8b0f2ad8411c2f0cc686018b8b8e3a9f5b3a746d305435d39e9ad10e610411c18b3ed264c682d71eec34efa78e484dcddae6b54a603a202331423881427114691432501315bdc14dd37769b0e214011b9d78f73b34002d00ea8f373e3a390331338a9342457a38e7efca9ccced1a3dd97247c55599564068ea245f575159cdc5db9fd27164d77c70eb9602f580ca462a480ef17438ab527efc9d6e5b930b8e8b0577c3bb30104e50848df335b03aaf2bd41f95db9e3b2a7e434cda08b96bbde191b60d0bb2e103545b27b0341c70c3ab5105889230f66c105c9bd79641ac340df439bd4aa685e34855da5ab095b60e088d90107e94b0b15b1226f6724fbae8a156ac760df68fe0f4200c909c861b506d0b4a028a70825229de080a369953a0fb2a3b1213a3efc1e2fb26661219b5bb13fc8143875cb56015ecf49e0828832eaafe59bed296010dbae53a1c0a962bfc6c314136e07c9411f3cb83a6672f310e10e030ead09595cf816fa3498ec5ed3e8735b5c8b4b3bf60acd67a97a798a706d2a0ad42f9406c7cb84cf5fe1b4a37f30588aedea7311bc4184b9a945bdd4298fa728f1a0f6937b3c7e7780f39f9e493b8e7cad7438bcc4cc155be9b554ce7b2934080d13032d161501df9421a80273323747314faa3933c1de0310b5def44c8c7926d68cc86217a525fe9666e2849551453568fe84e3ceef1f4b81879be6b88e7ead2fb879b9069cf00b1af8004d47543df410eb2b681ca37d86f8ca2989571aed37fcd7dd10cf61353bd5ad37f180ecf04a35cb4e3462a0840fa35b151e26e2e7956dffaa5a8692ac3089526f9fe8d07db21cdfb964fd4585bee558a3b11ebf4537128ece01b86f2a1fc3fd6866b8c83a49bc86fe2ed1e4e23ae467bc61e33c632b38f077ad99e6d11232130f20363833b475dadb6e0207015ab7cf8d14bd07dc6976a31a3eea757d3e3a87acfdf8e0c379424855378090f5df8bd6c2b73d8018e967ab43491b5066c70175eff2cd99fe3e7d7f9639d351de42de581510b453662c2ee55df7f97e8392be76636408d250e37c18c088a445c00e825bba0fde92e71158b8dbe421676c86301f1d77c707849bb2287dc3ef644589ee554439d43bcdc33c52fa3aa43d83228acb47be23f77f2cbc1a6eb846eca0098eff47b147a30549a4fc08654114339f9708bfcc2591116398b9ac48731eab68063d22a75ade6d67d75bca0269da89606d6f6b82a43d7e918ff70bf289e4946024de9346d756ad92409e814dcc5e571fd7cf492f98e887e9b2fc22f77290cd24f6a2ac9deb8544b28626eb527b038afa41efda5e51b470833a99fa1ac05cf4079f83f71309beb993b36ab1dc753ddc5e703c40c5355c2b97a09f1d53cff284398ef45fc72798fbf43b06b4aa4d0187a559ecdd11a936244e328fb1fd8d56c7401028eb4fb35c31704096cd6a09b1faafe5865da4de459d9cee09f124cbbbdbd7227e919b237a9714de6bd6809c8caf9ad05cabb380c66c6d226dc01113bf469792c0ce2725e14fc7b47ff693cd3cb825468b8c1f9e7be1db0857d8238017062ae9c80a1c0c7bedfa98e4b6e8464792edb952aaeded5f12caf809447c913019451d694a64a27a9105fae70217d75448340e6ebd0d9b9431dc5642c7224b47851c18450d5aacbf074b16c8bcea3490f7b5e898ca83217147e1b6c090cd0ecbb0c5431dc6f4750063bc19a9ac247db67b02d3040d2cb4b79707feae179c7e37d479d02e2c9f90731b91cdc4a5ff6d6f821768aa1f601d65229eee5c985c666ad9099d169785d716f2ef529b3ce0a960f0c819d081d49f5c218f80d2adcc6fcda46128b500b8421107bb17dc2ea1c7ff8b9baf6739cf8669ec61471c5a597af6626cc74e48a1fe86a0d817f0894882e1b62c5357f7c2ece2b65d26d1651b23ab8e4a77534b930fe0128767b6ed14a13fa23d516c165dd926dc495bb65e1aa0f47d1c7502264c8d3de7b2c87780e4f9f1ba4da0b42169be323c027f5c899e6a9e612f450597b68be33d52c27cd056955a3888be69f0ebd497ea322e8aaa4408a70b1acf1a0f457c20db11f291f4ad7885238577ec47dda77901ad3337169dc34f641026c7c9d70ef50550d88cc123288dca2fc4b77032d9f467e12f027613f2b9ff471f1fdf590f653d2222792ec7356ad8b317ddbfebf106b5fb2c3b6251e4569003129e8bc1cdcdff5a3c3d2401d4e2bba09cd1c5789b82a753fe4327fb6e383fb6078b723fdd20b835baa2c6cf5edacf85b67ba1b3fd6e9f9da6cd9e28fe72542f8faa39aac4c205aed01120061363df252aa14943c3b7928c942e71ea7556db856af6bee7e885154f0684cc56252977b124873b45719e8530623b37f600f4fc7b95a2f99c6505a097e12ecc86204f6da10f0f00f51dce10643d2076d44c45e9a40766d5873b3ab858ea4d068cd6c594076cbcd86a7182eea1ac9202fa07c869267f8262004aaaf9b907ab1b2daf768ae2565187905843a64b3f522a7fde16373aa603bf1e1b15a9f7ee7c4b7991c6af84cc4b5707e848dc090a48313fc1164d7daf71c2dabcb4e79db14f3941fee438c346d288215dadff4bf5eeec182b65eeff4dcff9031c464fbf9c431c71b47b177605a4d91fa5121b53f9957bc8bd2924539550806401da0eab8f50e580c8d6b1a3c497d4af41f2c798c7b353f16277d6174933306fa536b43fc676c02797ab254d6abaff48b8edf9e2990ead7dffa824cd3a752f11830a7b75476212a97d1c37a250598680f8cdb284b9d620756b813196c978151263e5cc0ede8408e9393c9a7ec2d2a2fa8fdd4941a40e782d8ebd83919c2754ee9d99d580129241faf9a83045fe6814a60477e49b0b2741169c1161f608c486055321f2ec70794767adc99378f861120d73c6e628eb9cf4aabf7abe3191c0cae0f2a1e00cfbbe5925877f686dd0d3c0bac798e81168b28666e3f4a7a67b8450fd970651c1a535ab88b6d0952835eabc88720f1f695df1669b335d18a66bac53fb9f54b7b27fcf4434fd86c933650a4587fee0c90ef355350b19622af762331efec5e31b750b6ec91e3e48a4e3987d648a5f88aacc678c81dcc7147552679c43bc055f1f65bb24b159b3f4cf1dc01693329e37d7069f9e8d262fc9d4e715f81d0bd9767e0b0e72cd5dd963649b1301195799844a3bd6299a8247e643070ec539363ec2efd69e8117d2e759ccce6d8ac413936e086b6b4da32250a85c6bc84a3e59056b6b4c1eb3f9cac95a096a70da586b454bb3bf7de180cb43d9b13dd3ac97d7909096f7c45b114ffac3e5f56747f632fd511a4795f8c440e2b5e592b4fd2af893abcb882393a78f9a5fecfbc8db31900a086e8b7ad05304eea4aeb57914dd70a49c4b2170e2ca4f6177c2a41592580599f1a53e27e974df38245fcf43b5ba5f95ae2dcc443b67b40d3fb9cbbfc5452b1ff8631ec0892e09e336fb8385357a153ee8594b4b5513c1978d10ff2b10462aa8aacd932c10e6e66ea6ccfe3637dbaf7aba5ab9654222e50e4d79e01eb823e3968e72bc93e2729df70cd4645f0f4cbfe28e3f30fd0f46556822c027bc3d3ec48dbcd53001310aff5d3ac02d42171e9bf826b66b716c14c46248a46edf4a8db4eff9c12cab28ffe0c844e15028dd8e9f902f6b3f999d3e2396a678d243236e2a8a61e663fbbcbe9c0dc80a2ace8a697f90fa3f910ee97f252f553b2b00a292ef4af9074b9ee1751fc41a36e7364712980d0b3420e2ef295f337dd222dcf047b3a2554d7407df47d71d0130378d1b2773f0bb8975701bfa149012d1f51ad87ee33ac3048fef6a0b285d62f2f16bdd4c2f2670f9f146fd0ccdf5ae4326939eba96aab8231c0ae7483b9390754fb311dd5de76e5aee836c2a8723d221179351e14d6a6b7abd33ff7ec19ea76b440ac555609f2121c475e9d829cddaebc7717f164cc6f4449bd93469a17327971053d24fbbbc9b0fd857f09dbca9f44d2e08db13a57f6fef97676094864ea21e4899255afccc85b01227fb29a0cffee7ac2197d42ee763e5bc435fa5ceb1c241128c5411a04675df925e94622259cbf80f4a869dda62869d3519bf78fb20d3987b402e5b69c3abce10817c96787efe0874b66c9c90492575c1a0bcbbb40497ba92e939a597109202066e2eac75d0ea2757fc11ce430b0317919b956078457f516ae0d452c5c4806cf1898d419a8cd11e26f799c4cc03940fbc20fc43caaa43f866f7a4160d7964ae198f8d1eac93ac1000409fd0b11514931458d18d640401b4c5f672eec500e13c8908a4a488db47ba7b2e12b8446dc26ae3bb0d467dd237519aec34beec8cf23dcd10c0c525a132f1108b5526ac8ca0878d9c5e4b4b1a8ba15d4c7ce4754d5b85e246c3102b554d4ed76609cf682da14c264ecc8a5853f9f410494a33183072da1d9bbe5f8bbd2704300497b169ba289a16b5c5156bd7593241d66571f836fb29263b55018475c4bb25a8093d2578217328f1ee6e80878108d52c4af9a5e4454e9749dd95c6fa6e0f66a8919be349527ca6bfabac67f34f5d9ead90023b31e84ae5a03e50f1986b1d8f815cea3cb6316ddf0a03039dc578a3c0b10eb64bee8f2f81c87f650fcd492edeaad20d03cd6fb73dd5c0a2fb60a44c896e9d4252d255620b664a9aefe174f2ea90d9d4c0cfa2b2d12a647f07a57a063d629a520fcf9ca4b2354d26eb8ff266459139cf3b3ed948a5f78d1eae24046ef0b4f199fc608a5435069913413bb099d5bccd288d50bb3ac5e26b6e1a7620aee88f43a6aed380a61d8490560ade1f3233d1b03946cdff3a59251658ccebee2131a4d5c83265bcba6525f32d13645da0a5ee8dcd59038597de6dea7286febe16db69c425a36b775a325f84194cfff675657fc12bf7bbb7d58fe4096581db21bf0f021013057b7ac1c33a12ad35a61525564b6adbac5665d832c9356ed17a7be55505a0978a99b88c2b27487f7c46f7189c446515a72b3c1fc07c17099481ddbfdbc681164a6110241f83f99a60e66d4016bb3e4496a4fe0da26be8e38232187eea8581efcbff04524f63e125bbf0eb7b150cf920982a429e8dd0e3c553c09a614fefa70ab70d96587a19267e6e16bee815f10954b0407c7b413d6675597d19ad278f43ec62d70d124a823cf147e22f521b49be1d8ac556c50856a5c4ee75ec41b7c11c8a9f6f8f24784a11e3ede6922478bb16c8c2f96cfa170153f4ce3284ffbf51efe9839180b66961a8e9366407bbce9eb1895fdf2ae135e5afc35d3e96c7b3852ac5fc313edfc0fdc2c8975f0c43c9873036bdb7b0e2011abfe617c907b3c6a3061de67e4aa1bf85352a4a31f24b6674adf7ce4a7bcbcefe24e777f15d8eaeabdd82a1ecf01fbc5a7b7892232a40437608c6d75574749b1a74a64df3764fcf49d2226652907053b9c5ef2c11fcfb0fa40652ce21e7f77516204c2d570c6f3680ad3a0a92b772726df8801ec7a821c2def0c008e7045232424a9da1e4674995fadf967e1a60950f652a35166dd8dd4060c8bbcf02abf0913a97675b2c5d5ebdc02f56d68cca74cba27972964150d6fe2b344df985f1ed7642e5968b4f04319c553867d7b5495089519f8018c3651e773f49125d177972c3d9c6333b798c327b82c8ab8a85ed946ae58b58e62b60f3183c84addb6b9d4202096b946d53bc61a77f4596f7fa3fab62b5659e193b3973c7e0f16565abc7fd9c785eca3f8c338bafc6a5a9fd1c8e117f0e56664278cded6ab12556f848d103d40b6dd5682e71e99007ade35f5ed1753af7fa70d456a6a6480cc853e16a502cb62c91d9d5cd127e359570889bce385b0ae769d534f2d4ac0d4f3d154423a83de65e85450d4077216f08668b0098bcdda5718c5e2da6b96fbfdfda329ca63f4f50427f25a262605ded932963b402b3acf871095d35dd74c588ac312f52f727c137bdb1b8f7c1bd6f9ffc6a25f0454c7516ddc3d0482034b83366653c521eca21398d141695940bc18e5a88e1fb209108b0fbbbf12f6197b8919ff68b8a9d31539d96c4495fbd1e0a2c5d698c550cb2b1d8cae86e0380a160182d0a9cf20543791f03eb3c45df770cdb402173438fb3f19f2fef1984356e861ddbc547bd0745768ee66bf14ba8b1a3ac1149cdedef0fc926fa0b4c84fbd95c99b8e9588fe0c1c13f094d00d62542eb468a92bd53362937826ba1bdfc962884a26e1c5c1b6f28753b8f5a8e018bb1501678d737ba8b179517a089ce604b597daef55d09df3a336bc3cb24ae02c9f1848ffafdb69d9c700fc1315f4b4326ffe280d7dfd788d0e113f3346971ec298eb443bf894d134d2440603b0c2df862e162877a45beb08f347743a2c3be48d00cf8ec787288ac4c82b89e4be97003e1f05677230f41e351b30ed4e9cfeac558fd93d701e72cddb66e9aa0e8c611f4b5a3b38d486714c05d857c396de4cf720e32c362d6d4cd9a67e8132d6ee1b1593b70ea56eced0bdd18348fc4daece478abf81e0cbe6fed539d2201519b0c044e699491325e4ac884feb609b7b0f96962ef00197cf997e6062b8bd93e2a27ce466d46e446edcaef48e0f16c50b05cfd6860acd2279d87c2293c5f047236a54c7732dd8b57e3bb3280c2cd019df3151db5126b3869bf988d9ea3c380f341cba162753970be10f1f8e30b5d0b6f11249a23d79fbd646ca72586ceebd4f9f70bcb281783dc61a56646bcbc33dd20287a7aff132e7048774a7b549607bd1083d34d716aa27b495b8dbeaf6f342a1f33f8d6572f9275cff764f16a74d138d379e921fd69f9fbb5b22ad507e1a789e701a58bc1c40d8ec558cd3beac8bb5357bc717afc3bd60a85d24c61cc68f7923ad191c3696c4120f07926eb2d16cce857342e5111a9154a9872f7fb5cc2b23fa10cb2d0bc22383d75bbd559c9c8c1ff1e749fa8c9885f74e2f828f39b03bfb0ec6ef55167fe651aaca3ca60283a14f2a33c1e947cf621d9efbd255f594af3e7e5333629e5db40d78635a53d785b8e02f90d381c69de6df321aadf1adb6bf9c38b9cbac6b8ecc06f4c0d312ce672b03cadfe1bea1b3545d5e6f5462365d749bc92583de65b5826a28c72922c925f766b50e1c97b6fba383130c6136c8aebc99ad3e73acd42c3adec478bed9ecb452ca9e469295ee582fc5c6a813b3560ceb55ba29eba0086358daf1f0e5cf1610e34ec25c307299fdeebc2c50685ae9048a91894cadbc2bde375bbd16e7e6edfd1c1d61b974a8b5f9e22d176eca475aa03e17b2c405bb0901741d2f2a32da1497fdd1d1b9a819be9d38cc4e753dcb869f078360a7225bd4d91a1754adb420d5199134127fd9bfebb678db30eada1e74b799d69cbedc062f4798ae071cd1fa65db6b4580b8936fea78a7e4e246ba1a5fe5ca8e74e8f241e4921755dde601afab3018e13170ec5f2022665c8589bc91c2d25d286fe73daadf0aaad418af6b63362a08b25ff6d23c29d3d944fd35c50d54d48155230b099bd8ebf889b4c0120c242fc9dd36b42d30c64b66295280f6b200277afcc2460a87fea64093f23cf89c0d950977896ae067b75761524ffbef7c9c6d3503f49d9728f9d6dc7a3bf9e617b25d7010123f569bd435e78b12eb8db5f18c83fc814e9a3f72b7f10742ba97c7a57b1bdd19f5e6e41ffe732c236e413e1a0d29bada5f11c676286a2d76c96056535cc134bb3432fc48750b4706318bcdc3958adc2348296547f2833c5e654729b3f1439c435f7dd10cd3f693f9f180de7c9221c22a8e9a52e6ee5f8792cedf70512665a48aa564d9f379c1e184d2aad40daa447c4f98bb1c665e47b6a8541ba4a601b9cca1545d04afb7e7a1ac5be0c0f2e50278a1467b6ccd2467f6bdac472375df8ff4059c7d86ce3454719b3ad874459dca914b75f74ec2c3cab6cf5ae8ce9ac7b8c5e71cb380927d30130d65af0b0c7974567498ff1e3df61cbba6d575f6d63a0d125f9b1108f5dc871e062f5422615687c3dff1af05222d0254c508a79c323402e144eb38e79fdaa2423fd353a5ffe8009f32be2809a1a9ebe9ffac6c39b492fbb8388fdaad2609a277f211f775376caad91d732c3cfbef4f7b2d1346dd6eae2dce258199f8cfa992e2f2adb8ebf44d5b026d7e0f0ff509d1d191ed74c9f7c89aa37bb43e514cb5d135fc9eedc4a5dbf5b8ff2b4863a4bf511c5632610f69e75d57d26a9016f1424159b93d1fbea07c791b9db78ed7e6875357fb54c5ce43e625aa58e78d3f856c9bf11eb8735933699abf4545fbd3ad103a544119b5a3ae599a5079a6c5a4a5d7ccebc54934811cd2868bf864e1d2b557ac3cf7f59975b0db4f030866b2183e7e035eb9825cbb70d7d63a0460d3e7082d58c9c9f4043a0dbf08e567a9b6019dae15bcb776348ccfab0c117c64aa2b5ac737928f9e1b5bab607769fc96cae9e85779326a1a639c9211bdd9ca12b19f749aa79a4c1971662b6ecddda60baf68ecfe3cb3c6c075f7d84c5257df5be54f17464d4dc9892cfbe825bd5213123f424a29cd1e856375c08279ad09bf1c76ee19dfa365e3005a9b13c2ce98e571c6d07c4e4ae1d0fbfb0c51e91b0ce7088c24c8e0ab2674a7e3191e258b1262bf5d7ac17f027bcee1fe39d5d4298cdf830c90d4266556cc3fdde9c83b915388345d7d40af6ddd7971a7a05e29cfe863490d3503b64ff5498feeeefc43dd915df22ce8e8b6867df02bd8edd465a1f104353e1517f769e41c3232a95db48a156296cc7904e84a5e397e7ecc259eaf68f0fb79bb46820ab9af108ae0fc11b9e2fc5124d96f69f8a807e605de65a523cb23a6b6ef024915bb58aafb35865dbb4150d030f4e4c210872acc336f3c22c2963f2d7baaab083dfe74905a4d6db290b4b094969fceacf444c26441bf5104c1e5f69936d18e92050a4c7240944ed2467eb88b16596b8bb6f6d93bf1f32702b9f4ddf7d533cf5d7c4e0b699b048ba93ae0c6540ef941ba08ffeb4b91099ae4a16de5db7c8125052ca8ce168ae258db1d7ed025662dbc8b243beb2e6f5ddcf29b06402110a5ef5884ec39cd82b3b9db9532ca500e2f4bc5ebf6726d38b283f88112dac75f5c3adbb4d719c498369190ba5b4064b9fd7bc3df4af4759041d96d0a83820f569be9f82a900a76dc15f40bf52f090f7698002217ae10c3f516957baea62201b2cafc26e10df2316f84ebb6cbcd6d2ad3a903614c9bf87e667da16f53e562d39e65eab352639642d64f9c92f7eb34b7bb69c0e6c28ff82b929ded525eae258b1ebde7e04174894ed9b52befc8e851642183c227694186d9e8f15c227fc7714a25eba7d3de035c640bfddfe1c9b323c986b836c75116a41a4b5dd77924f2ed06d089598c78d7a037aaeeaeadbcf129b1849ca9af9f33d6e15c10a9073a76db8165fa394fe024a4446e5e7cfdfc084e13f31b711dad8b4e109453cdb3def34e7edb38aefaf655f2b1c96be16518a1fb8b9223d217b6be75e22826e70dbcbe354b24f9a2ab9cf10d591b27b7cff5810ec373ca7cb6d3a36773d67c54418b39b8be917f730d166849408170fe52888d2528579f909c3a7148f431090d31cfce82afb592ec780e77083c80830a3e490adedc5a702b34d4bce4337a8b5e93aa53769da685a4107afe580af7efa884a35164669798f950f282406c03fd98d66bea8a2fa72fd36f89efd2d8d742b2c1e96cd00029142ad17ca0625d5db17a181b5e241284a1fd1d4234432b5e616825084ff155d7c63f23f2bbafe5ac2f4479572e4d29cd1160597b1001c7d9eec6b3ca74bc1b44f41e8861322864475581372381b19f5ff4a2f34cdccb0404a0211dd0851077554cfbc91e4c0350176d19e5d2eed5204e9722b4c706e9080de5addc541ea54eba6081c3f660dc25f8d32976c7f543f9a6974dae52151b58387a258d73c7edc2a62113018c5b65e56439786256ebca74eb575def5c043ade1fe068c6ac295c5d12ca637c6b3d336d7f834ffc167bb3391a2cec6b523d6793b38641e9ccf61a98aa13e4722719ff9bc0f512dbc4f900f6e53fb11d192b74626ebe6c7d39e51df37a610a227166da0954bcfc9f306e731a07851c9c4daf1e31ebef4cc07889d043fb46bfca278cd0cf9bb87daa51453613aa0152cc91b123c33e64878131d5c0b565faf455f183c606bf33b2fb1ab0986be76063e661465e39b4175d4e9d05fded399ed65ccda070241ebb4831b345eed0126772621c3301620671ca05996d80aa202519895f9fb34f49da55ec7c81d020039eb483c501061acecde8c9f7b6ac560d5423400f3bf05cea8a86e8dc6386ee3743a86fa72b4c5af4ecc8e5bea0aefecbe7ede5bc4fb2861ef0f68413134d2e55f5b0150c2918cf4832f54b3ec7333c6c8618e0f20c5eaec971e7f5b84afbeb6de5e2f278424170a475286fef73814e26e75d9c8255225c32c6975d6346b86c6886e734ed724335cc29226cb76e20bb9e0653d8b6b7e0de773064c7ebd917dc17fe60dd373cd9beb2f0985ae5a23c5d0d711a2e557664c9329546c27a7f473fdc1cd57f59c31ea5fce6dda77653e7769fccd80a539e0ee429645b18af379fd550d97f0b3b9bb7b1680052e900cb16cb15e99cfb1c96a6bb389b5628d3cc44a6645292b283a8a2fcc3e2842df687b203e58fda4c935abc7253c60aa89c53869fa282a76286d1421af16724088ae1c3a17248c96d38de3084a9e4373ccee38b6615454884fb53ea69f61f50e03c1d4d6a1cf15474e5faff6c9f8409a1da0f42470f789d59ea71552531d179661f21e0d51c87f7e04873cffed3d5c8a4667013f947617cf75e726822e2d5c5c2787dc06f9be94bf8d903cb618170223124d3b7159c7660c51a964b2c1bef99aeed4c24d01dd0801a2527fd8dbf483a3c0378912f4184a5128db9a1165089ef7539c229a1e244532a13855a16abbd308e9524b7e4d151e9be2248dafdbf65974256325a9913e1477263e71a5004325308dceb8b561c95f781a96b0cccacb1e5c43607e06de0b5e3cf6ee53b25578a0534ac81e336722bb19c5c48a24f0754d64665d7c2013fd3fb6e93c55e4ed9e1bb680cef8133f0bf78f699f6b4ab6ea29041906a57fc568891221793cf448af876384dc8c8950f595aae46685b675a59e76ae2fa8a286ac97de7a41ab490a1f296944870f1d5a74bb7c997816b5e72067e49095f04fca53f92b3bbff07ddd38f3a734d2b0d4327edad4d30b9ed2ecdef6f9ea84b07fa6bdde7fb580a610e7e8f2bf26a680e357312439356d00c8863d6f71c3d27f0b80cc3e7b5a09ee43e5224cb7eaafd5327488af6712db68b0bcc0534b3f9717ccf125618b4ba1e45a7be104424c8adb5a7e9241dd5c629c24037f0f6f109e721af8ffc626405a96e169d20d3930ed742278e7574a1716aeb201fbf9dcd2b8d54522f3d83b79f8f8da8e5c0806fe964fa46612c6641e31bff5a1d6bdc27cb9e6a14cff7a3d0ecaa296e352d9af942415496a0ef7706f7c45e657d33dd2739de8f991b387a4aae149759ab9c163d137dd111769387b1afeaa6fb44ee5931af91911197cc1fdcd9caf400388285cc229b86496c7974fba2fe652264d4b3c528e8428b21d7c22a932e73a3c198fd7907974cbac3bb9835705934148c35cf41282a303c06eb214b0f0087df2cec86f5a45e8abe17745b7bcab6236c5f0acaecf64354b11bb5b59f1e196b8c919e059d69d7e402ab03e7425781df63b29ffecc82c847fae9a08ef8fa6b2d379d71477c280cc88597d7d6d5bf8b4b420606ea625c115dd7623f9191bd6522cfb5892b09608b2a1cb86d9e41ae2a9223cec3a68e40f97fa2b87924c94034d2e54033b8903f7a9fc1e7b8d6d36a6d5e4ebfd894af71ab08cc9fcd4eed3055c26a9b69a294d905338b78df2f15fb615c51bf6e87f1caa6f54bb29fd1ff8639a4ec97a452ec8e0083fd032a86ed4b9ec3777f5836895b21bbb72ea951fb348280e3db9b27aba55ba1fbab66ba2d947626ce4e61b054c40a985ccd6d19fa408c5ad07536e487ab584b1285ea4d0aae2c5480a9f6abe8334fde65ac223bfee9ffea85df3cd5468f56379e81f0e8ffbb596c077545956c1b01a015f1b97b02d41f2df2077b5e0c51873a159e7ae5c5cd0d55e20d30415698aed8afe002366462f68f3360f3c09bd29a03600c309f46ea1fe86327d6700a2754c744c05fc2f5e8c8b5821c89ab65d14d6072c83b657ab180246291d213334b9ed32042bdf50d12795600f152017063ee18304a4177bc10a0cee337816de8978b917bc6722c4bdeafd3da887678f0791e3029f5b5678800e29ac8614b4a062fe2e544888d6004b1adf93d09d61335c4afa84023dab78bdc55c2179b3c9b8bd45807e0d346c5c800c015d236d6b9008a49a11be8216229a06a44437074c15d63a80b70746b7238ecd898e356006404e3feaade0228eecf1760e4147b4167e4894eb414c9d5e6f751d9e44bdb69f21a4f45af1ef0710c2c4e5e48974e91571804642527e3bd635dfcab7af860bad1dd4051a1630a0d107dbbf5cb3c4c1cd26f383a2d902a1b9ebc75485c14d14ab905e6717e92f19e00d0eadef9790ae30632dff1af9461961c9fb246f8563f4ba587262aec60e102016b90c48afee47418caaea2aa12c85f387565522a6954afcb7af3ae407f8dfdfb9e6d1e4b6829f4434dcceb2e62970f843777fccf1a2f89a124449dcd69b3e8aafab7fb36305a8f51265dee5aedd2ec18c6f721ac08044cf94ee711be37ca24a53013f9e76950a073eb1d1e23cb436b91d796966070e76c15b825ff190ef9301b752c478e7029f6f992ea44fad38c321c2244cfe07e5a99d9190a397c6d85800a2b636fb9307382c60de928160846aae7c1ac2092e0c669f335f4cea4ccbf20b303609316ae16afcae8d2eaf6be86c776ddb1ae33bf92fc3d1d02a4ce227b1fd8f2d814094e10ba492da04c252cd4629c3f95ac1b910a1f8a984e3b711c56b670411d61dce0928ed32ae0c24b77f1ebfa39cae1a1ae01735b391568612bb15d0092c1fe1e83a637c354e51a4d760d4fae8db14f7a58fdeddcc10cc29e06e7f745167d951f179fe2bfdfc65e287bcc35b0cbb4d9bfea4c55f8ca8aa71324d5267fb90dbe9f19d30c0dfe13b53bd955f6be4e2b866ecde9b0c274413a8e2ac8c6beee1fbea4419198af7b7ac989e37871e2819f7170b32beeb4cdcc570b3f7ed329282c5691c65fb1d47fbf3aabad5585160831834ee05279f211079f9a58af901feef17ac0b4e6cd9206c69764be1b287fdfe694e48e520b2219c2e4da13620abf117903a35734e155997a53e5dbc2a4e1ca6670fdfb85477fe2308d4493881fe1ddd61644908ec4cb9369097445854e9020abd78fc5183d057e8566a017856c1226a0e6fac490d8de0d1d39d0f5757b88e7dad27cc02261f1cb4d1b31c89ecb2dbc3ec084e0f0b3d4e9b4e180fc262617ded3339d8ea33b0c8c53409b12290e05ab7e4b572efc4d42cdc1808b93c03e1d521f536f32c81d6349dd52d7482baebb7a11b70df40b1e0cd6d02a9a12c988f930098e4f89f006144e6f1fe9b23fa0a6c4975c0f58b7ddc7a56d41f19ab661defea889662e96232d72500f0109358fec4ca54533e599a3c9033634a8e86505e8b693ec675747d569b37cb79f75e4df0b7fa5baf37e19a4a0089170524282983a9ad196fb4fd8ad5377fb466eb4e75c2adcba9a354abd34b11e03a06b30ca5423678c5c1c7751b127cd77b2bab678a1766481e1ce34cdd23606b927d035039a71549c79ea81296025b551ff81ea5a7c4ffa4c4dfb84eb50ad350063f4391071028b37aa7ea5706f35a8864d62ac6cfad97f918d14f5f3a36a218ef5f813dca325e0684d9c75695cd7b1b1308f452d1d74523fe5d69af3f2a9f2c1df91d5bb1d9b7e346a41f0b4f4bd77a353eef251bd9d5ec15b67dd2a4d178c6d25d1c5943131cfbb5a1c9f9bb4754d06c98d82ccdd7abadb9b36a28f19bf103fcba0f8cd123c2aac6f005d3c88fc90dfec4b3b82d84a3d7caabf583f9048340768bd51645dbf9847333e2316e0c635464a019ff9f14f31467beafad0caf0df639aa7c372c25dca6b0b2eca2c517eaa8d58e6323562c0a32abf779c2d23d08a877f433c07cc1e5deec52ab15008fff9758e90561d1aa0b05ad0991783cfdea8bb6b6372a1d5a0b6992b84a0909040ee9da9557e2111c6aed4a6d6842ddd2bd5bc73693fb0e5b1491d739cfe9667dc421ac37be68f4e9533c448212a9c7812c7d09ab53fd58b9082de9662a36761adba6ad7256ee1bd57160524e52eb25f203df7eeb759c61aa9bc48ee41b2ac4779f6f3d1789dccca317a83deff3425998cf62e7b575eac3f63be677029e2b1ef6b04c824cfe1cbf1474b5126991bf7c4772eafeb131312f449ec4b3c0f947897e52110fbb719ea5a058035e4f04c69f85f23ac2d1cb4beb6aa02764abb57ca9f02c8df9bdf38a127ce641d1da5eefa87cb42737ef9d6ef2b9b2aec7c949e1ab635e65d80ddeb97a65ed895f4b857e9dbbb157c62b8db4eaaf8f6fea071b3333da294bdcb52e024ddeffeaa2d5932a0e9cc61d7e8012d9aac0d3818a2b4c0e402643840a88d4c00cc53f8512842ab386606f7d11fde90c65d27f7eb775fc922bc0e4b4f10b14c79f4b5ea96017a0ee607312ca164337fe5a783c0340a6a152461b8a68e31ac80b0204ea0e7aac426b3ff12f4c4990e5f9f9719a817a09487856160b3c4577fe1729dba6c8369ef29434cf6553c664559c614e30a951049457432e20cac6796dbdb37b4ed9b689cb2249e077914cfde383cf4976c4c630517b60f507a5e9b7bbbcde397d0e50156d9b853096ffb6164f459c56c1f717261d512910e10ef77763c1ca03812ca74902e698a6e9aeefb0d3e2df867236a5587b0968e02b1be19d83488a3d07eb5d0069b04c87266df73331788f06ac11e996b0cf1535e2130b002a939744eb6ceff5bbee165d8160da97979860c6dedec7b1857f3e0839ab821b71274dec729e39ff2220f6732d93c37878192b3bb60d52612baccd763a8cdf399f3b3bd13310aadbbac67bfb4aacd2660a03e4eeb5bb0b6451bdcf6e4492c5af5fe906975b569c52a65e117d8dc9d28e93ef99bcf1f45c7c10e1184800f243940d490c8aa175a4dd74389577490f47e8de899dc732d52d17dd1f1725dfd1006da25e3a5541827e0855311526f2ff13c29a5062ea4fa4566df318f6b9ecbe4f9a1964f662f192783bd97a8db864106a53c6d08fa38171a0df2ca5fe21a59aca86c6a4b4e101b51f834610cd1fe15b5557324ca7af7e1b686c91735adac1edf0d3529a0fa7c83fc4653da15f2ed15ea722bf16190be6120f36ddaf99ced9543624bc2557334e9b2b502fd9ba4cbbaafadf14ce445c8fb5ade90fe94ad83720f4c0071e0dd68a4efd255de72734976fcd7240084c6e50c38c2245b3fd1035acf686aa4b7ce0ee18abb44a9faec9769aad560e8d694435136406e5f8df2eb2c3f51ff87bab0711c159818c270310409995765ae732bfd57dece6d7a6ee23b9335ea2ab05a17d4af13803aa9d5bb6f5707ff99af79ce0d9001ffab08623d528b15b301fefc3c148417e4aedea222df8019f175dd17dd4e2093ddb6e4d646e8d7426365eb8fd60e50269daf24962c42c9830399ca79ce4cdedfbc0683671ad0a5833820894d8815bd44c1f07ac604c896a537d47b7b47b7fed4a2c27b42f59735fd2c28871df82727bb50c3a6b7a49bd8b2e7e5f84d6edd8811af14a1ca1da9e2d4c165cd82c4c8f6c631f0ed79ddf4f88dcfaee298967f8c577d6f49306fefef8fd2b6e2d0c6d1cfa218c710a7861bfc975e94a67e01b7f950f324429002381bf7389d0d97925084534b42f21b4e0b1ebd3ecdca3e02505741481f91b7e82965c57f41b0fee6bb3cde6ff86502de2cb32a34655ae4a92da62edd4bd8e0bd1258670e1627f4c70e7de134875ce97914312607e930e843147db4d20888cc1acf11ce12c6b521a3c3db80269efd4234bea2864f0e65e2029c80c5bea09410a3f9af22f9db56b9b08436d0d6a91442a6fecaddd638ca499107b3c73c8dcaa4559e562dff64c2ee06da668e9cd4f1a6882af5883de27394b723120544a486ee0bb189d8e9446c94fc8cd9739f1189b2ab4d0f1a81f10f20f58d80bde2e0bcb5fbdc392d70774f7a4c179e8494f5c7bb3908f3aaf4db8940d5e93c8461838aa25e009082a156a5d13c18439d99becd23cc97589dd810cda0ddb68e206b6ff2ac60214fff62636d897cda2ce0f906692f200f9ae445d1dd7b28d3a8ff0954c92950790f6eb8b189092babe58e46bd10fc908f2ffadcdb11af7c030e557f362ed5eb867d28ffe3f276ea936e5dc83c8c5e8d999f1d7ef9bc42c52d88ca036bdc01073db7feb15618c9cac0ce33c4803aff56f996fd9497ea2bf917e890b486b4d11c9bf0565bb17cd17199a4f51dca3999d1d35e58c7bc58da444db19c7f63b885f4c90694ad5e7f216acf6be31fee1f90b648dfa1f704266d0a084a4a1baa68738965e442f822a69f71aabb7e5d5739273be348b22292a25eb00d02de00f237e3d2f69e7205302b86d97335e0c2f7a2319660592d8d025daf9811015dcaee092bf34e5f06b8aac6ea5802218f22a3ea3cf2c24237920a112a637214a04c6b215209dc39fdcf64b772f262060bd2738cebd4806ea3e7222b8d2e87eba60c9ef4819922fb6e3456b629284ffe0780eb3ab0b34f023e8c6c5deb6a97ba80efceadc5938568f486eea8af6aca051fa57607984b4232e15e0df8132c7b3e996fd1e0fee0afbd5e30aced3256e25c8abb672fda98e1168f78cb34c382347e152c3cd2399df297e5ea8cc1955593bd07b42ff549f875f3259662d202cfab54ec4b9e800d1aeac2ff4ebeb0574821c74035d39ce9829b4ef7802d3287e468e815dae69f12d3aa78c348cb280976ce7601e2b84a516d534b5404732a454264b77015e2512598079cca98dc646b221fe85a54a90216adb53992493fb0be1659e93116440fe728e9d33edbc5d9ca126eee7a7b219a844717d20081fdcc622b5a60f00cfa879aa53d626742ce376e2b26ac8a2c62632eba0a0f4aa8d66e374e4b1e195e44f82aad06c425cb2e83cb15e74d56a1a923e497e8548cdebdd637cf65760f235e5fd5e2b1ead78d8f05bbe739c13850a75333b76533ff00bf468ebea3a5cc853bbefeed01a75a1bbde0c91a31476a5b9c83fd222e335cf25d2c4705d9a64bedefa5144cdb4d525da16f9f61b14469e2761a41cb242ba8188a1b905c3c357048d7fa99e3166aed0e083365c5a896207b0baf61831be6b28cf74592caff98c14cedf8446e6dac80525f3bc8c4a2a5fef98bb31e9145636cecd18ad4fc0f50486b4854ec32b9a4d6f7851f2a7548aa5919b8e30627dd4a62c887d9281ea62d8b2ef85fdd2627c69a85f191a01da05563ba81bfa7f4f8164177fc8ba1e13dc672ce658440b8ed218c1732b8a18d8195863403e7d616545d15df2af87fa27203332a0d6a986949a90caff5bc6ae76445015776b11e4d315063d678902b99378b34f4030c1e354b4d55ae6bcc35e84a771f743b36e741a53c98309bd7bac3299672bb2d3e0de0cf01a77c76a4ef696520cfa07e0b83c4001924bb65cc6348801b1d37a1bd640f18fd4f488bb94c1bc93736b771cd987397e635c3f1f90f7f5e97dbc0e1beedaaaa8ddfad33e106846e2cc811788b75f55c8d8d54d022a82bdd34fc62d3094459f0a5c61d82c242d9519123c33cfc5e66dbec36b179468743f91b01d919e45f50e7f4338e2288adf54766b7b2ddbb3a77361623d24b32f89c7069e5b35af872604e463eedcc5253dc0dd19761d574d67b1e6b37515cd3e08a399936b16c0a703925cf8ed644bddf22bd031aa3892e4e912ee58cc654eea77afa6513b640acd13382d5161c46d57078b7f06fa15dc61f5588d84a9d9e297aa52b0259e39dcb0a0275a210002a799532b8ca9ced7a340d6d54d4a91434bf0a1c7f05fb46dd69ad3913ca72c3b137e19a5b48ef376ab83ab8996c1aaa5ef80581a8e5e0b21e463ac174a130fe6a5f48a4f0b291e58921a551316c8c42981fccc49f89b737f7ccaf0ef7dcbd80ce9b56a4aba5b99097690d8c62a029644f765f53df89e0890c7723fdbd8e44d8083d8e9508769e11e058d5890dbd5fd4a21ca461c59c1c34f88ab4ff983a8477305cc62c76fcbfaf023e0c506c18dd7c8d8e25ede966b1391639a84c7551b242e8d015e83bab8d90f05cfef19501ecb71b69598c0cba2a813d2a49b5ecf3e43e1c8c1ae73753813aa79be039722087b1da8caeb56df05817776dfd5b035bc74c6e430e284aef54e0dc5f96a22d445d6296264bb79684faf097ea32be69669f46d738d64162698ef98054d03cb8cdd1c0363e79c7f6b5d39966bcec35a249309406846e15204a1d0b9eea182179ef5e6afe62f8d52b64a799a2bea6ad32fa6ae9927e7535c560b70e33c64f82ea89a0375a841c39b0d44bdd56a445d980fe6d919c05aef5f5122ad5defbc80ec4406bf7bd46493867ae2f078fd837d9545932f0e222667a6600e70f30a7a59d2e957b2c9059dac6480720a5a82f7e16f4eb6f2f49e66732489c3e903db601f044c29fa140a09ee9307df3afb83693c830e744dd74b825fbc59eb4441fd0f92be5d7c06483ffd34f415990958ad223629ec4350cc780012f60ac70f73c707d34c82a6563812882b56117b3ee5cb0f97548868030146767133c91389e83efe1a58a1c0eb18b341d3c21598edf9e48f15fca9cec9e99a1daaf8f8bad1423a83509dd5b353c49db02c63d89cae2cb93e55df7828f81cd0bcb5ede3648462cbd0b2741d9cb2ee2066021ada9c54fae9f54e7624f31b70aa6a4184459a0843487f3de4b2ec1e8c8fe9da6b33fa26ecf18a45f318e37bacdd1218af6ea1ea0fbb98e07f2759dd6cf684a6cb50ca9033c40d3e3b2afb4a0f03b38c91ddbb63f2a8b226e10fe03acf52d22a9fdadc7b779c735d4bdab69d4773484a3812e6b68f69d1074443f223db314fba052ffe4ade09d3b83237524e8eee57e088b8b769cf984f2fd773e780a618f51c78f3439ce4addfa9ea7a81fde9ef93bd0180f6223402debe515cc2f926ff6d84b6e6f461df8510a4aba4884a777cf8fa0f2266bfcdaaee9d90731722b232de1d5d35a6763a911b800a57cff7df5ca83314b71a458e70b0426b922bed45ec6e67dc8eacf6748acf7847b49c3b54aecb9df83ffca4dcfeedd6f30b5ff5cb3ff3c7086e5c75e7d4a183440471b33b7334251adc69587f2b3ae213526f9ee2ba67c7e7cb31c82db970de773ad1d4ec897687e117151d14a9b6944f32ee5260eea0026464681b7ede24e353ceecf8541b79b99acc56a06b4e2396b0472eed1435b6b4ea4e9279bb0a7f012b9e43f55ce8a27f2c14bd159cc501422b8e932f700e7b4c71a22982ca2a083630fbf328a81add049c70f2ae2ffc27e98d28673447e4f2b758d886a36e74a6dc410a34eb17ec73403126b69846fbcecbf3845dbe1ca70a47c05ba3301e382f7e9c3e58c201d1b3ca450d26a0fe5b8ee18822749b877413ae82f254c6d518f9d3fd135f51dc9744dfacc4bd05b1e2f926b7faf3ab6a8aa8dd21b0c5d332992053502c4c2daa27bbce867252e998dbbbdb66b41e14abcbc8f5c475bedd3ab3c20aa837a1c7ac44231fc75173d7a57aa215244a0c4c75b096fd68ee3d7db2e4f605555798e67a2cfec1c9d91615fd0070f06d0ca9f17ce8589e36025f57c8d601b2f74c9eca2bb7b99c71a42858edfb5194b2ea9814bf34cf95be576c8503b17eeee75c5bf98357f5bd643d29016b145786b2c065d2e3605d4d7e493a666bf3172f51f56cc39d37910a747d74099d6fff9fee5326f907fe6e5221782454456bde0b3bc686d0cf5d63274c87d6e0c946f3aa85ab19610934207b3dd94606ee88c0d052ce62de86268bf80f56f86f22100dd39ceac6ad08d255546a9bc73cca89bcdf05b00523984cb2ba71ea53fc305c61456b5b0ca423a17e0a808385805c10e0b04c16e738f461826a303e69afaf7d39f3c5a4e9ee1b67510a948314f9b5da881166782ed607929063a034328509f9b9ebab242fcd17149866004c5f5b0bfc9e6cd0d9f3a01422676baf007f736432abf64cbb1fbe3e739e19f941641003e9d5bf26395ac9d4e6c544d37de6af925566d63be3295e551d1869aa547c44b377a3ce5a8f4d956c920b1f8dae6be6ac6eeec893b551e3cc644ddc70ff427032f43b5b08275c7d1f0e229c8b4216e6e78df7e170e3b47306dd8ee22d91a2ec2837fb749e68f97858878580709d83279b12e26e5ee470467b2a8e6da7b2c97d1ba0c6747bb4349314c719cad5c65428a8d3102cfb196726a33957583580959c793289debfd09abc5395e87ffcb8b7e179666144483b9bfa12b776210a4caa523e4626beefa9a2524106c9cd32c54b9c0c528bca4f46508cf788fdfe0522ce24aa9e5a708a0c84426546f050d2191c18841cc44549256c5fac72ea3c9f1dcbfc8e690f739347a44f5d10193b0c8b3ce132328559c38348ef02be1d8941b2194dcc36a922809622ed29d5aac53770a85b94533df759a6ccb63c7f06a1bfaad8ca550868465c71b61d56c5be0b359a855f7eabb63086717807bc41dbbe8397398a5ad318daa76d51ed101422f8c0decaf8dce75704f3c72be0872884734ae5136ca2a9a1258932f358600e420a64542f36d3a5d02a3107cb68430524d1b1f71f35ca6b1cdf72fb2674e19d8b9cb622ccfbb81d484964bacfac12964cb28cb932ce4701c175c2c9c71eb8890e94fbad678ea1f3951650d4a3cd90222ea7ff72b666a1011ff5abb0632c06760a4dafa8cf0c1e5178d60dc55f8c45b4390d22c2d812840cd1948600be7995248287fd572ebd39fa293cf5482c4cb66ccfe48d170a8dc70eab274b6701886932587a428c6b0be1d7ddeb87ac0481c94e1a791e0bce8f56e41c4ecd45e53c445380de5963433423acae7c6b21e97c8309d961fcb30647fb65823a1c1f3bd6296dc5a8910e0d4feb6850775ca1aad42e53a2959dcfcaf78c01de7e6462442e2575f6e3a391f9ae8d85c94b0c023ad696c96a0525a2626062014fd8d412e4577d0d1c60cace9632c9d6d99c58bcec8e819309e48f971d30a8bafb872e96312ab24ad21d8eec5a491e5d38a9a40d63f0db3c44bb2764a40c284bbe318a064dd1a8647de3dc5d48aca2344d6f6b00cd6ec4b1ca0237702331dede4df71f49a099bc69464cafd0a8c48813d1ea649ea23b4c8b4ad714ad7966900ebc81dbd1f4addf77c2fbfbe5b406d99896c200ddc03d6ef011195129ff9d1d4149c583dc517b91486c50b9e72658d0bc9a056542860b7de92d8105f8c5851f23e2536584e580146b5bf56724f52e7f97aaaa185a4d3b20800763352c83aa53ff035e74282fb1d348040ae7ef4a15657a6f81083c614149edfaea693a325bac6194c4d36d9b93fdbd3ca9d9ec0f3839cf179e096d70e119db5424c8bbf13e6b04d490919e93262fd25a12bfc0e1a84f6e040533b497c226f4350975595af453dbc0222ddef62ff7f7f1d4b06c9ec635e72f82d34312577e6ba41891967cb5244387083b349343ba86852e631608fdeb7370bb5abf509d910c1a94210261ca75c9c056aa9b8e1c5fe0e3df13a18df29c59fbaa9cde20329ffbff8b7bacedb405b9007772e60b5dfdfbbfb5312f7d6c90a4767ca0161382c5810a2b5a17926e65267ed14aa1b4fdda0cdf3c6031f6971965eb60a6b96925474167c9227c377c0a04f5713bc7aa0a1a63f620b67ee4a940b527ac385317a5d72901d0205b91ce6974f3e716153c14a893191a01c83083f372e8f55815e19f674ca22c12118db6eae79477b2f557a1b8e644f41ed4987eb06c3ec101c7b319c15aed8ad77acb251f8d084cd7dedab67ae3c1edb98e3d6cef81329246739153d8d39a03d74db3f976e881bbf706970265b01af52165dbd3652f21c597f4c9f33df440152d653f568fba3a5800ac2500a1ac75413663d23b792bbde1577bbe52f4e88698ae8ca01c629cfa29ccc22587c4118c4e41432d7fa7d0502194d5e2be24ef6c66366f722dc716a621ceb8e192a7878a469d13bddae2648ba21d94411562dba95b2fa2714a0ad6b04d742caac39ef04de722a1a4345e8f8fda7d3ee7d849e699569e0f3254c8037ebb1baa7eff19bcf91d2d8c38f46037c4c8a7ec22490527a8c3df13ff9a80f6874c7037823bde413fbcb88705f8b32b1019d46ea2c50fc9ff7bd959a73250c4d1a05a932635f978431428d76eec3d333cbee32a6ad0765e60b4f104e1aba15436272686111d3c2059caefe1dd75286ca176cf2f08a6e41678e3fe787c3fb0f292320b330c1e47575e2f8ddd52ad0715c3400d5ccc46091f73fc4e8fa32c96563b3603cb2e101f1c00ce579205a79cfd4346ab2446b23011307af83637702a949ed9ed2ef95f424c916f944485913c161ca5168c145562a6aa323816892c406f2d450a9e90d7f5ac87332173797579bfacee3a667f10a13a93954d74a2bed4bdbfce34f165e8aa82d00e74855355050225ed933fe64276abfb1c86515861e575bba84f65eb95b18ce4a49c08d4d6418192bf7f31909d911587b3c8b1081f3f6ce94f60f9e40b3226bbcab8349215a34f6e0a91e6243012664eb39b4fbb65a80dd94d72cdaab8008f7967283e89d66f18544c4d366a0d21ca3beac871a7da03ea74164fe92676b9b0ecb9919ad7e9f09335f791cc3056eb7adabbbf843a2d6e33d837882e9fad3240680a45dfff64efc9772600f934241b795beaa09936de7b14b355989d778db3611cd8daac48e4aa4c676f66ad1e46fbf02cffe6d29560c5aa72b9ad54083b5bf11adb568a185d09cfad373cfa7eeb8e76c7d24a08a38c623ff500d3d3bc5b5f7d5203616910d00bc094b96a6959ffedecfeac0d4f85959dd1fa18c883e95b09af97986f930b7efbd9e238c74a6dee87ce79c2773cd97277f3d0d814814893f53c19f37f312a28ac9188969903a9216f4984b8ab339e2c203031715f03d5dc20c96f31f66d9ccadf41adfc75328bbbe8adbd4b8bee53b7d88840cab3e153e7151fc817ffdbff8b1bfcb2878858c32ded8b8e76c9f1d0bfb18ff4626dd3697b6f24d3d5c46b7a5d0514f5947f03f15529428cd1627d62bedcedf71c7830470f6b85143b75f63b81da828e7800c5bb9b285d8700765c756201ce1b5e365ba1b675d3c7f548afecb8ca4e34cd25c9c865145333b8ea10d900fd446b47aa9f1517d0556f072174acad97205f030c714a586e448bb3d0aa821949b8db6245497b360ae2d2a407fe5594947f3cd452918357c362a8c743b8ad7d0cee8ca212ccc34f510c59320963c1bc9cad50ea8a55f7954bb577c4f7067827d26f13eda02cb135d939d51e222989530b25fd4706817e45c81cf9e096c0a19f1b104325451d1b89ef7e326ca7a1ffe15976ecac4e4a6785819e88af0bd361803efb3a75d865220f5fc7a332dcc264d15e645dbf8a40d79e1980877c1c6fbb40e227a83e5a6ca148124711e89aca332a5a72b48fa82a29380498119fa0cd672542f558c2518c3be58607273b39cad3aa08208613de9d77701bb8ec505e0a052ee100c3ed9673caf683fbb2786d7e634e8abcb0dc6907ead3e927196e53699e4db290b5da137d03e7d9b77aaf0d77579ff45dfba4d5591c3fe8e47a6f48686a1e26e55077e83cfd55381ccc4c8fe2f5ee4a50cd27360e6c7505ed3f24de69e0fc54d0d6a673f1122116abce296e4107ad25e2a9abaf613e0a694a89f36ac6f26c40d9c8253df2ee88c165808c6b1a53129a0e035db83e48461e97fe7d98064174c1cd296f480b69b05c5cc4be578301298ba46582a52c7073a1f0b5ab690d044b7c50f53d12f45b1b3e130474db6c35e9af5005bba89d5d0c1296ac80700eb70852102446d7c94ab70e7e88c7bfd763b00db2a671da07918963e42ec6220867f29a93b1079122d71a83a205ccb64066e72aad8d1b6aa6d32acee7412400ee642cf84753a83f0a0061cf66122baa3b98a1db0722997002a4db4f94ca0965513ffd7ff752195e02fe165cea9abf4fb9f72a93b8cb8627a37ddb7e8838b4582dd9a08150962a733231fbe24164b753f35b49746d9166a8939d4a24fda517ee273099cfb895a84bd7fbe0b7d13740ff6dea909a9ec798508a575a5064378094cfcfd42f4592a7cf5351923a5c2fff3caee50f53b0f89601628e908e74799c8e116b52635931643d96cc2b18b108505b25dc68016a3338844ad24eddab80242bc5275352ac286c70db00c03b37d7ee057a1515867ebf4c6497f9ea6b2e7cbb4da1e7861dcf40add3910bcb4a833504537e9d18cb8ae8c81eb0d44f490e3500d1449c135622ed96ef25dcebd3c36aa046af4d5c30412ec7a7e5933d8e3df03336a5256cc7b094e3e9a230fa181c27980796e6d08a5b3b8da001dc8ba7cf65ee5ec898b47b1b69767b4b4305cbddcab9ef02406af74f4e35201825b7d185d9be7936a876f1aaa5753b1d712b13dd91752d10208df2f069fd8093d8a5a735fdf88b10e37ac6689cbcecb741098cb72e1d8b0dab38600630c6f2d6995301a9ede614025ea5602acff0376062ff4e941edc7307f9602dc93ef35ce85e2e828b3f07ab36f8af1f5d72c311b6635a66fd1c72967f509477f5442f0c3a5f80a12188509f6a1dc4a926b609073ce11b07632628083cb16c3234625c9f7e4ddd3991cd4db0db70a09a866b3c5d8ed6f9349c9ad6844dd170ac5ced421a4d0e74f04b997c626f094e13c544bc26aa9565117799d3e3c81ec0cb458c28c004f8da66308b8324e09818de3e8562d2e9fabaf6f1c038489900d235f3ef4d155ab30fb55090a1da2da33459d4817953f8b8e2ed1ce79bd211539fe37d89e56207b8aac50cea8166649e0b7e8da6a93c149cb125fe2a091a53639e87d7ec4fbbb0a2f44d75d6659feaaadec0757a6b41999974eda7db01e7ff018d2dfe596e10469d7e506727f31056f5693c9dd06a9abfe8af26a1cc6b7918a52bd5560f1511478e3ab296d4de796a30247b99d1949c698db3d6a88ac0899886031bd4189ae0d5f6cba14986d56d87e7709ff6abd323dd37e1f176a5097baa7c0fabf1d5252327eb0c0d45f0084abd755620241df2a66c6cd4357347161b5a01983199f4aea75722115602e34c011369b5bf29920f7524f84746560cc77ec2d5fa875ea9b6c715c8276a7e6914b31c7a89c486d30247b4184561bf3e9806bb31957353f2a7ed5868c35056cb74e5320d57436ed94606f2a3d65c701246874c11c81b071764a575ef17230c65ce2fb2ffa8e56a6b76850a36a9a35bb418785b0aebb2e0a6c263bb84b3f289d473434af1ba7510b40e85d7840878e48b863194ed16cb9851a7f67e35a71983445632bbc6e5d123ddf08a87c6a80363b492f6d2301badcd3a80dfb3e2de7474e6a2a4f9286c04ece4de52a06ca69c53c9509fa87270051fbd39fada635fd3e74b66749a311a0f731895be1d909c5af1a4955859cec6b39c7cd474581565035b4d2a6905047caa737a6f8ca1fb5b3b30aa5498a5daf3c8694ca0eb69c0e9c90361bf9bfd0d480bc1f4aaa9977b136a12e30c82fc032f88757ebd7f0059ccdcdb9f13c59bcdc185454027b4e408ed39c81a407d0640ce509dc845f475c25813f9994125cc10b5a425b9eb80b3cabb33a721475dd0e32e443b8a30e03f025700dc613058b191c25d0da6d3b62297de44f22994a263029e0c000d9bb5d0efde6b27788785a41429c60eec9ee4dd025c7f3688f29c985c71f604b7dbd04305c84f5567fb12a521299ba77acee1ccdfebfdf670f221891af15877fb19891247ff2ee43eb1828702851d872b167a0d94579e7cb7289fee5e1a83cc29189f933f00f10b2d7ab5df5d9e0791fad4e1613c6b601e9f391f381eb3c1c1f7997f8dc4df1d8d06753f0abce150daeea3bdfe5ca46858076fa268d843cdc785ba40d981cd02497ca788abc9ea0bdfbb53c9f18ae3f0100cb24f7f0640877f4246eaf55e116d120b1d2b0697d6bfb1a31f4e9a31b4b2d79b345c44ff42370050e0c66bdf33d1d4f3d24a1f7c764bc9f6c6e1aef49bfcaee51aea2db97a1be81183ee3edd478039753f809df52ec5d6e239163cc3a5c318a090ba1cd5945217fb46e22d8bb9456b1b9dfb7c8f4bebaa67d0b8d36deb927d15d93d696a77b1ee2494a6df4f4af88536e6fad31c2095488ce0c74c7c6382a4e44d658974751f5b545514a82ff4953a3633ad907093b381b65deb33238738f94c06506ade6a0a44e544831f1fb0916dd94bb7097df9dbdd3f18f7f50d4007c866e791f2e45564bd7f89a6a450dc6bf67cc11b780a56e1fc259d2e7488ee50c77c807bafe5fa6fb7fb5113e052585ca5f4dcbdf7b1319dbc48b8e2028dcb6f48405ff732661a75d8627d1de17c4904558093db3176212e2dd762f0fba205412189ae9905642cf9527d38fc6d9283e42171487c8f3f8d97fd6db6188ea6eab86d70e3076533184a18cd6c9bae21261298477bf3e1fa0fa8cc0c0b038b83195e52efff74e1bab9edfec36868e20cbfb95fda54bf97278853b8dae2cf11ca76a5819a9c22f4c69db11b0793f0cac318cbbeaa2fb95cebcc0a4842f5e1e40523124926de0cd31a58ef240b7fd833e72279e9069c5815382d6815be03e9afe80b563276cd6e74c19ad0a08eeacca2501b8505d762fcf7d1fda228129c565739bca5a25e4ca07c87b5c1552b756a1f3a3a85253727de0aa14db072e07f7be5e955e34f8c3a2193216057816faccab08c970691abcc09fd2aff21ae042a3fafd09991fb8e7726ec17e8c7c1427a1266564b33afa6b25ca5f61706842cbb3d013f0806b6feadda61dcddb6b1d86521416578c90ac9bf6b75028a055e6ce9adb4414e5a02550b15c5d4b8e41da728f678b3575c757a0f9937f725142eff5d242ef91b521259f868c9f9643f02566f1feb5c1e11d0a8667f576fa69c2991ed5d99465c0a2a3231b636ece775ced3a73ccec345c885089ad1d0a9c66fd4a84da8357e9042b856b1ee9b45a3d4669e7d71968362127b6fe452159fab48f34054497a9c7d4b0b8e9911f9fce5fbf1913573f0748d24c92a00e14f4f89ef942a7d19989ea6d612ba9a7fe3116521ec101da7199438bf0e79241806945a01bd937ebcdd3c3e5f9ca40a21d7a2f8e425aaf16179be2ffa915d051052f6ba311aeb554186765d451571ff6dc88496d4fe77550791fe55877af2490f883081c9f82fb7bb625a0d7f22e70ace6b927e8d71cfaf86ecc5a40700f5a6fcc7d2571c8c3b269151f256032c4d8a4ec0553beb4e24b8860d0a4b347f6343c7d730f4c32b5dbf17a8ae25eeea354e0bf228938fb17904090384c083653ec605849ac8480bf67e8fb481ab446efcdd28528b044200fe2a087e984dcdd0d6654360ddf82e8a975ddac840d61464d9aba42d63b18292929b64578bd704c1fb76d07d13248835ea91a551cde42e8beaffa26ec09dc5729b9fed55453f4222c66167ee409e567626e773d71b86bc936a93e0a73a44bfc223ec3ba96a313cc611dab0cd7bad119c0c5f401195694b26e55fb3b189ce62aa43f021e5af3a038e55f8cbe8ca1a799c880ddbbcb72d341a97b2bde1d5de9ae1a67ffc9dafdd17d2f451a5acbc09d4ced6a1b07c97ccfd7d535b7de36453fbab2abf184528ddc9e65bbf75a666d4c6070191c2c121c4f929b7afd1a89e9d05a1703864c7306fcb5f8c345d45ac9eee3143bad6059d13270c7b763d687668f79c9194f0fd62d13c586f76aed904416311096d5a21e1973506aa9472ffe099601061e1b5780b5b4cefdf1e6ddcf2c1485d108d716bf99357d2e9ffcd5b4a349492713b6f52d860f1dd3f666914a49289630d5f87db0057a81c0915446cfce22a5589fcb74d3457a3b24212ade6f3d6b62d6db8ab0a3c8289072c2c10d909791f6854d5c49935d0b409b7a3114646ddb48e4b600c457139ce43fa0b7b57523094ee8e44a7551f2d787387bd76a0d950b7cd6d4bc42982bb30ac068793b490d70cee5fac054bb9125d43ed5480f24a2fa7dceb77b2eb8ca2dc1ffc0453437b95b78c7b61a7b2b8f09f81c178add0157200f7c753679f5144e77401fa11ce6d1cb99384b3639f60363c63b6060f54be2c3fe5c6e7389082acc6913197d3b27f998cf1fc9b40a9a86cb107f35df802d0a1710a083fea95e2f5aea16f3ffeac6352fe4b435dbf64bc0351f50dea41e025ef477c86f2198a7ac17ff03b2a64da23d37753f7906b7cf7aef91fb46270baaef0f843b76ca994906f9841a21962506e7af48c11c17e9d32ce23591fa2efbf2c6d784f10757d4bc2f99f378de9ec3b4e7fdcb61234d49ed1af40e10da282599c8afc7e9f47043674616b717d1372fc912d9b0ec64ce950271191f9a8746e53a4a63429e0f0d5e63138dc8b3f69fb149804142e9aaf626731b0ae33f30e9a72767372a357583d62ac3773e00d413404290be63eb239691b80082a2a09a2d59a997e7bc623121093877dd09415f142d14d490766ed4e9ba6163a49f297ab59056736d553e1cada1e6323b2d7bf60aa8cfeb4258e3526cd3b6302b36affe882cec98e8e072559cc4a6fa64f6f3ee47b5f8716dc87c552157254406f56e2558bbb1bef6916754f78431bb41bd4c30cea6b7ff56e753460ca402f052c67031b297a555df0fb7d77899ade9ed05461b0cd9dd2e1ac3d2a25a53b485ea2cef9538bb0528d8fe94fb3e069a970f310c6ec3a035aa571b9142468ae77f72d09069aaaa81177848772c3711e29c0d99bdce35249bbe084e2a6dc72eb040b5cdfdbee2c22d0a643b3e827c8cf4570926fac38d90f02e523dc7a3523fb2701fafcb0afa2241d24c5c6e83f2b88f6bd5977a97a592234f84fadcd0f5c95b19bdd30085b04b33d99a4f6a43c745891e15a14bc88ababd002a16bce1c3b28ae67d4b85532ca2c73919a1e66b8a094dedb2ed889487a131e8de7daaa15ea85849b5c15977f675a3166d062b46b4f80d952dca7ffa9c62bff1e009031ab3f1fd983912499b48604b11871922e7abc8b58790a1427aeca2e23ce587da50ea2607936d50a60332e5ac395e7b422da3736525f8f2933b39e7abc3ca24ffc393879b9901d20f1c91b5c5adb578b276bfb743cc4b27048f32c9a1b7e211f41a8e387ba9eea8a9d064f06bfd3d3cd7b79250e0bf16d9ef9f8bd358c6bd9ee7fc60d4b747005c2387675459e75ee2158e96698bb6ed1edd8702ecc9912dae2e56b276978cd0134b163a82443e1fe8d90b50a852480484b4c4dab296eb37855b661d707297f2952e9aa88b79b3bfa5d9b0baf80802c2e543c0c5a3760ec49aad2b18a04ed717160c2b60c8be6eaf503ee6254f018c8c87564f91188a411a007543f9b208087c4fd55b6557dd57a75ea0e5ed2d3f5a0b88ad876d07054326b4c662830ed099216a6eb3e36d92c33f049d0be52f0eb9f97abd9b360c55bb709b9e23f07ddeb8868798cef74e8699a90f849a37b6395aad3055de7d1a6bc78ca84f1707ec7f377eacb393fc2a2cd8a01f752e8761d0b4c59c225496fb4ea82410c149bbccbacb2b4adb7933fc8ecbc91f0d6395f988eaca7acba25fa643ccbc90862a79c49c527258b02d49f65d414ca8b69e1717b4dfafd2f109835c1d8dad6e499b637e14da45a95daae6e4386a3c9d8f480bb9ed4ade3fb6c08218f371df873f556bdad2ec2767b54376dc7fe1f6ba25c463319ad66888e1dfb53f5003986421a9290189e92ddb6e6a289cc4f1538e8614ef6c43e1b121dc5ac7e1e9b20922163879d8f6005cb32ebba1a56329068b0f8d37a75698f475bfd65b8b87a2fa1b28de7ccc3cb55f79c63ad34183f6de0b081c7613018e9a000268c6a4093cbc6b57510899e3eb7339b2c7b5ab15359d50f9c77fed6f0dac6b0cbf0a2020453aa43d5b2aec5784495b7ed16fad759a1f2e0706bde4c381cda64b6fc24e835a84710a07dcd1c1dc7c7892f1b6d7af0692b9f5ae4408febdf343469df7e4e30870d6f1121b5129c02f618cfd9dca07af4e8f6da682588b4192f4355b6aae591b29fd0b9824a559d7f9270ff1c45a44227ea05da9afd23054e2668ae9c2ad6cc056de83b04b257b6f9ef717a2d01a9c0ff2838ca7134e98749c07e8f939e38ac98247cf7e9b36723849e4aca37ae02ce48ca52695e77ec7f7e887259d447a68481a657a8334ee68fbab016272eb53bf1df6aa34cc7712ba7c2ed5427af33b4e8bf7a49facab9fd75f50fdfd9cb23f4c5b31a64af41b44e36181427b41dd9e0924b785a1a870312fcb6e8d0ee434fa870d23b8dae46a219058fa92c4498cb3f8164086b56b3ca4750ee02d188e6da0612f53079b5e9847ff8518e399e655bc37644e864e685439de93fa20f5f0a304e064c0009612da0cdd844377a2d2f7389c5f9ce5117f2fad91174763c057183d876a1ded45cf2d84539d4a0f145eebe7d0e56f7e10c6c4db2789ad59c1712149fad5d4a98f666a7d602dc8cb7396582cff38abc8bb0106043e9b18cb148cc6b223d173a53ae0f74d58c2e493266fdba2d988f1a06df5f20e6aff170143872ace43203a8e1bf53ad2a7ec2ba7e5215a3b5d05a9c991a81d793ba473ea9cb2947923e3588f337270923a5b549601eed3e97fc689d536be9803c9a733b043814f7bdc20b80f5c0cde45fbc6237b80114fb3a37bb7e14346399ec4034a23fd06fbada90c2d8a83f1057a57a862f3a96d4e552ac02a728b4a6bcfff7b67967f2587c11ae8b6bc595e0ef5712d834895512a115dceffcb3567ea3368ce1a0e443d95e705d7bf4d579b63c8ed05c746999ddcb7ac75ded1400e1101971461fb9908a21930ffa96411a7d065c785f8c72035c9ffe2853d8194b155069ee98049936dd66e6dec4265835c4b360433e7ceb604f7fcfa654592f98895eccacf4cc4628ea2f299100f02ae3e866bd7bf6d243af24a4b8741b545bd9e9040c1e287c9244b4a88898d70d6575fd3d419d452b0a5a53779e5ac0d1b68cfe77ed422b4ac6f61891a400b765bcff509d7965b18708bb6822f5584f3260789411dcc0203449930f21e8913eef59024b66f5ff52943af380d3db303159e5575819417e5f932432a993626779a85460a4db65c1a2f62de78fb4edc97fd7872fe67bdf32eaca7d15284ec74f01e43f4174cce9b02a6c925c09c0df377b4c39cac13a9b558d2d88739d8092fca7aa200dfc3ca10bf0eed7db09237b010521eb57cca25530cc4b675fb230dc5ccb355212fee46b1c853bd1217cde58ed7103d62db3b3aa461645aa57ce254667f3896df8f097fff2ebd7b4ea00f40333b7f1b9edbe7ac9da3cb0da85da0ddab5978bc289fcfc8e2373ac6ee16184ed8929e2587526eb013362bc2eee8ecf3db0559cfcfe7c872597c6d0fc07a9858c16029cdd0ce18be6267ca5fcedbc29193f6a025d914175a79ddccc19919dcc90d97f1f041d6906cfc8639a6ba3e9121840f6427c0fe589f37a51bd563176f7c7915f889965e5b1fd788801e187aae2c24bbabc85fd65ff9b8cc3318d48752e4a63258445594fca5f0555c9a3dbf40cc1c4fe4a12c69e4de80e4ac62704ace42756290a20392883ad4745c6cc4943fe7f48be63c42f229ab0d7a1bfb8f765029d4d0901c654b373f67193b0c1fa63695c1fbaba3380398e2ea1cb3de3c105cd711141a6edd05bbf85fd757cf8d0db5773ef8121fcb482ad4e5c884c85c8df4d21518b785ae2e1b7d4eee9dbedafad515cd993a5b013ec569be35bc85e01ea451341bace9556ce777cc1a217e1e051978a53004259ed6a8cb4a752268bdd32f3c54c3dbdeee40ab0806d856579013d91b88970191340e7e5a8a8528d690709f469c82cb916da3c7306ab1d4c4325466ab830330659e61f1422476dd6faa3fcaec5e4cf1529850ee4370fb82fdd03e00fde4e4a513c01eff4c349b51dea1d7959c81aa567225155af02a6e0851f9b32f048b4cb1c26a53db972ea84fde445c8f71a8ce2f67fc5e212cdb7596ba4ddea25a493d6eb7d1c27c81ace961b812b4a60f3c6d7e8e8b3beae985028339173a4b0072cfa9351c238ff7cd848f5b50f0241ccb6367b7d9f750cd6e4206691ffd374e99ff73bbdb38afc7d67eb6da38106e3174a4fc652d9229732d30a2393672ca5976a122a4ca5eb918a87c07a7cbac65d2ce00c8893add9a932c8e009b072f929fc093e199547c12c8f9c530240b05c021732e99b3fc950c8d67cb14935b7015f442fc2210fa122b9bd39592c64d1dda9ec346d907a45cdc7c9b0f8579aee5e78a833f052b96611a4afa02a12b0e809c0003f66547f0c330d75d0889f0ca97c377dfab342be5ab1a38e4bba823bb4255b59aeeea36518844aef4e0c7365623361d0be1639bd8701bd3adbb60c63c6c53b879733905b292c99769d774ab76f4e45521076c57d64c220cb2f0b29112c6f3767e6ff56c38482f6b796c9eb0c99e9b54ad4bb1f7e78446cf6d6c8ecc08152fa255e5a545952afd4ae2b41cb0ac1065c66dd8546e285b4dd41c0664486920c6926bf2089163afa8209c554e763b18886da5f074df5954fb6924590309b39c766c4196f81ec6bed3a9cb82c023519772e3951e9a6e223339eaf94f37e12dc179b273a90b67126f849c95d21fadd23d1bba2ef530ca414b6ada873b097c32f225c2362b1ecce2a0215dec80f61620b04ff6e179a713cda9ff4cdc3872fa4ecce85408504426491c9fcd602687c229e740c514f757e941009aebaf2fef73333eef6a9598c7c8975a2efe69e1a48ede2cb62042b0d36fd08c053e8ba13e5aeafb011cf365c72a1a8eba7145ac5bdef497b349ebebb58fd5f249f44d7e136a66cb1ce6d4c648f3d51a8219463d0bbd87c7c76892d0b3ecc95cf96828579586b0d833ebe985264bfddd7b4925028179c91d47e163dc53ff61fdc342a7d564c4d6baaf583384ea0442ff5c6fe7e1f5182c9657dff940ba5894b0820dcc7044aa3833f5fe7dd3ad53e9a14946f33899016ab1ab4f88f983f94f4e7c62bb543364e0a99cf52ab91d930802ae14eb2b5d2dba352a722c160c62c58c32f2bd5a686587ee8891c4cb8ebe2cb70c73dfec30141b40159823555022d69a95ddfbe6bce05178dd0363a12d3025fab5ed607476c09cd250fce7628891af2009e379607ba1982b58fa00532cc67b2abff4ea27b13739c2778bdf2ed3a13e751f82f92acc82c66b0e038c7f67f0f6c76752032f7f11f885bd4d289e4f3c488dbac5ad9ee7190b0b1b72262c8de2371ffe688db2a5fc08b4629f8f0024718cd309a204967681a32a088c811de221e4a2f4adceaa1f49dc0923dcf14bbe822fcb3e2746d2df4dcb722611a87e81980f8639a6e94366921aa82217391d4f6ada55b111506e759c8608c100f030117c3cd46c047b89cb992bbae8866da9e7af108fae453e43ba0ebac2a64cf795e96a66cfd0de8846938e96baff8a4f6884f966406e723a844758eaa658373aebeed65d97bb0e3fd5feb3672a4cc8ed1c56002c4f47164936a2d005a0ceb374e8ab7c18921231535d83b315f912093b97c74a53c00ade3158941ea815bae32bd68c763a4f3c4e3d96911d5fcec527a306edbe6f454c6126cefff7bd628f948bc0bcfaeab25fba1d6fb919ab7c72fc00d6ded357a8650d092cdf7b1a1cedf9f6066ab54bf46bf5e5d1f44ec8b95beecc2f8ebb8be117819194dd4125fde58a5b3cd6d27c31d17237dee15f0f75db74b8c3021fb3512f1e91fc2e4818e3b62ac244480b78fa763460936409aa81f3943e107b997d2ceb00085332fde9f0daedfd949992312b763df757cab699454217356d62f3e1d104446517709e3b36f7c280a34c2a5d3676f81d43db7a5ace8bfbb30c26da795db87fd44bcc822ccc6de60b54cb5154943f18f5bde450e424bf35a598d6c6afdd8964be1c3bfd00d5b82798814097815c91ec1e09ebf9d06648b80a017a9063143546d94a237605fe879f27617a1dca1ff0d6efe6c96f49cca80d352068f6faed38bda58b73ebd0cf9706cb9add6c88457af3b394e7f56f6c5093538b7beec5083f2d0ac2ecfc8903c2fb9045fe871aa9ed253a8252d9067a07deb84833138f4b0b2e46c4153c91b99721a46b87b90617a4653fc309ddc42b2e378f67ca016a0538d002b5dae8cf5f5afe7f0718f069cfbb325f395a1093956c6cac0d225017abdfa451c536728f79cd0c3f1df6eea0475dec15ffec8b41d63515a7bf5637e355e89736ac6261f1b8f35cb534f6a24d40648cd8c89b4d05f935583c77ad0632c1dd5a2518136bb31475d267430c21a8a8044f970b29ce22a2423fbd78ea822a7753fec86ba4bdd75bcdfc33937f99cac2b02e9606422d053bea60a547f803fdbb9d1f238376a8c2da548490299def0ea48d073e0377a9aadfd296b20796bbcc50d079fde145d094a7b2237bf6d783e3d21281df97d8eb87366a11a7c6e46cc89c5a76c0bb138b2d0ff586edb5b3293c54b5368396968f540280feb2e9a7058e0f54fe4d4f16e1e98f5e7589c62fbffb555b84d9a44f112d5b95ee8ddff5a8a5f4f49e015ebbca11cd8fb501f3f0ac44036e42cd8bfedc6be3190327ea0adb8e31421d1a70a06690bfc4b94f83f1ae014d219c40298ea950e16c5f608dce12e3b8e77ad4da0c9eaaf9c96fa789d560579107daca6d379a5fca10db3b49af3df9805ab5b3d1d4b7487714a166397c1ddfd3cef3dfee754cfbacd2771f35d10fc1d2470c36ccb3e7da0b097117c1f68463a4f17182630d7786e868adf6da4864e027ecc7fe1eb8dd6f127ed39ee4886ad3acad825ef3fcb0599eef475900f32fe220795f708451729f772502a2f6c76ad76c3d998f744ca13cbe4d5a58a0acbccad81c38e6f6a4a42d23029d8c360ead3619572d087cd994135191ff5e77c0bb0d940813faaffc4c133f5b95e9cadc3c4a6d54bd1c60b682098d64ce76353b90bcbb251b8b29dfdcfde0c33b87a7ce9c6cbf4efb032c5b0db2cf55b2e04a7f3efb09342273a45e2357c797c42c69d74977c9c85a57c76c1adf377af66efe974ca8fa653451dbdd5f42cc02318b8fe2f258db68f36ccb64cb92c3800f2c01084b165a76e28ce8507f748726eb6b2d84475241c864f4fc5f394a7ebf459373c22971217d2614496eebfa916e07eaea5c17a96ab948be29860453464af787897e446b4867bcffc1732afa6e99f6cc03c18d3bada92065812e00bc56912d77b5cd9cd51a530b0ae00d106049a08cd3eb986e556c9b80352511fda56a8daa1315b7021d23cb1c82d31b0c4c48fedb08dadc39106940904fd0dd18bf470a6830af6c75db1b9ddc26837525251574618af02b2b9cf307a6af4a419cd861094bd99b65e06f8633d0e6b552e9da8662ac4ec066c07ea8beedcee757c14f1e74d8344431a1b11033b4a2105cf1abf254c8b8fb4846b7f03f18062e606aba8d7d964dc3af9d6f47a8049f9efcf7129a071713d0b2e1e6177a0817bac3396719da036f849d4e57dcaf79f83f204611024bc1027bef4b5ea5b1e206b35ecc83cc23e8752aa1d3b06fe8545093280a73765441ed3ec5f56a80731d629b56b15b7c37a267827567b9911f827a4cdeb01395acd0e118d2357366b8f4eff2019f03a420b5e5a387fa04868b5bcffea8aa755c7ea2c8582770a63be82726979603cfebf520d0824cc204ff0660954033492d531a2351594d45b413f9cb3996f2f3dfcaf4b4e405c82f86331178ce655993398804647938df2103c23f99fcf68110f1f6bd5cc41af30f2446b14943f526cca210528d4598222053b4ab88945924be7dce112dc14d24e0ece09434f912a93adf3cc94b9ca42c5f6701083538c03ccb1da3357d160f1ffbdfc3e3c0b17aca919ddecc64b0071309dd214c4835a89085b10e91cdc3b0651299c278488bf3499b6adfbb2ea56bb53ac4a2bb409f7463941b79902a057cec786e0aacff4fc5fc193173685c9df869c7521e2df38bdf48fcb36e726d485456b8710db01741439259ee53f21f163c6c4a2693245773a6553489675a8497a615a5e1e0e83fc67f7c0f73984e54dcd8d6071c6ffd12d738f72bb8c03d9d21a05be9299974c711e989dc028321adcab0fa81f2f6aad73b3d3c02a1fbe0602747e4ef49f25bc0210f30be15d2c79b88323248c38570de4b83395a9d9fca8c1cb5f4e5fe33ad0938444b6c71b796b0dde7ddcc50cdb1778f46a9066a6c8fb8a996a7553a75d618bb6cd8db0734b40410469310c92b483e7dea1cea0ba46a65de82edef89707be06b4ea59f2fff03d0a7a674a9c98c69333ed78bf5064164f15c3aa9a21c5f92a311541b366b00506a592c5325628010394342312dd7ad841fec08f8d2626278cfc3bdde14446c56c99ccd2cb7897bf58611d0db795f4ba8fe2bb7a236b2ae6d6bc3f4774433bbcb5c3fae7cb9e4146a6e6e3b6679cd6bd37455961fe6d700208148afad8fd6881afcdd3f76300fca2ccbe75cc0f4fd84c81e2ad563454a6effaef0331356513fc724de8bd8a0affd9e3a2414d0557e633b1e36e4b27890983ec62ba0abcc5bb2757f7e7da4dcb0280ef4051d59349f4f294165646c5f59c95ea32b781d6468abdfe736884d214bf41546a44776267fc1794fe910b9842bf89f652704eb7c268bc2c021ba75311888f3a2451b37c6590fc9fca3b6cf917344236a041c55d2af2595f651ec477e5d905be6b8bb9d7c82c0cea5c8f1528ed9b5e4216f389264fa6d2a0275336d30d800eacdf5e569a6d10c9a0c9d614d916f904bd1b572b93eec2d3e3d999db48d51876a17388f5d346e1f2ee32b35d252d47c6a9e960b28579ad00ef7a55226e740e1c84f7c717f65cb170ed9c7dc7dcd750c078ac9da3f9cf5f719847d3d90344b454c6f1b697e973db0ccbf8b8aa375c37efc53d2753228c3f2c75148123622c4c7e34d8d3bf286f2616b53f03253cb03be3d5418ed96f776c9a5de0b313b98f2021488adfa695220b5f5abce3e66ad948f2f54403db6acc3828a5c4dd8084053aebebc360fabf35eca85227c2eb950749bf8f3a6e5ac26affb4a6a142041f2c9986b54316e10e28109bc691c6c211a00dd125fbb750b1671753f68fd3aa4d8fac5ccc8422342c38d9c8de173abbdb076f5c5a9fde800304fe8e0f3f958837ef7b8dc47b6c8591c8a6c40b6e4f7057ed99c7643fae6efce6d3c7796c1af50dcc64933cb6d55acbeb661e6d5a92a4166077174939394c3af7067b850b4796089dc12054e25064e6d6924836039c837706b92be6ddfd1e2799e741322b09367528c33e4cf58a3fbb7b2f8112dcc0e3c6570c339dfb3870705f4424b46d78a4d93dae61bc67ffc554092827ecbfefdcce8ece56b62d601c10bf51b9caa6c7b0be99cc0227a0f15e2817d6a53c941464b503ce6add31d998721ce5afd90879c51b3bfc7b6cddec8f1e47faa34573a342acd310672b021ec39931896dfcd1c30d4e4c475bdbd8acf1bc0c2223e32c874908c1c1552223819bf9bcc10d0b8280d016c7fe1b7ee3f256545acc508021aea173a6a6e80caabc833d4d2122cb0a233924d5d5ff335792fcb67030d47cfd67dd30f726991387aba6491cf063b03175c5aa5e915ae6df179c7867fc62bb741540136fc4d4fa2e186c53fe25eef9a2102ed0523102f50ba205ab6299d8c374615dda26d4304c99962fd49cfb53c3124cf0a977f77eb163e689cadd8bca9c606c5e62f1da8e611a27467614a1db4e9a178cbd4f9032f619768365cbaf7802d10cc47b79d29f536f5991fe9e7f900617f6cae22d595f1d4aac58cae47603d09e0c286f624b03f81d1d3cd7c90bf54db5ed3396a2ae03078f37c7d00cda6365c450694dbfaa29e132741a8c9b5e70afcb96e5173e2b7f0b4126305af865d2233051299eef27a6ca6542621d0e0562d10a77414c950782fa13927126239e80644d71d3c10d059d8a22d39dfa0e3a10240496a8016600c666a96908fed88f03fe4aa34bf3157741dfbcb036443781a67b7eccccea3496fe73c55dbc4d97c8f7faa36ff94d84379e062cc0c41f625d29c2b69b4afa8ab2b2a835a10f84bcde03124f609a2b4718b41e14b0d54451623cf4554c848cc9a7bbcaeff98dd042269b907b8379648ec775cddc7734940d796b7842415c78c9fad0fd4ce7c32bea08dd87988ae3963c7a1bed88662aa4a690f8cab0a5f1f73cbc0172f8668b71d5e27b480590a3ab025e9af277cde623e0fdd4535cde64c0a566dec2aa6576db549ba6f2ca75d0e2f3c7bda50f8ca951e90cc0ae69aadc127f9e0aaf5a4dc16c336ff8743407bf87b25cbef06456db4b78585a4e8763e89c278c0b998ea70ed7b1e80390840693e7037277bca8d5dd6abef20f6f16ea28d129932d53b53a0a1ef16d9b9ac48ac1136252de5c902ef4a1db3afa6c9c128385003019c09aef5dfc1b390107c2fc4e89f7dfd33dccc531ea304b7ed84989ed9eb3cf894e3a8c59ce750980c5a258f32c6af833a1ec892d457c413cf8b9045a4590ac87e119ee3cfbd955d6ef04d37725de092404054624e3a630b2e0a15d59982f38b080aa7d0c0bd43ccf629c1f0e939f9f3bc58a4b64f32aa4c69f4d8e7421682c7819539fb792c2f1db7e7078fdaee80522c6e401c9076e453bee3c0c1f661ef4631e7243e234dad8ba2957d64fd7c066c15d1121e1780452dbd402c788de69713c4ad7db2993190b641de892c7f2937321172168eba7ca05d7f0ecf60731e19c9189693250c38c09cf3326efadd55004474325a129853d35824928938249566d16c6c0f502021bed5bc0fcd9cfc4bf61b3000642d966409c38c2a84cbffd8c7ed20e1e6f1acdb0d010c71dc107d440118f6dede441807f4be2f57ef6422a32717427d28680a9ba0556c48c1a261ba26f10128132ae4d1d499940d3e15d6e92665c46da7513cfea38df50c3d18f06c1f63f4bb22929107661b221508295f3a08555ebbe3f9759a22ed4612df325603a2793d534bc5b333bfcb76efcc458a29ce592632510e670730a2429ba8ec33410c23d990a591e3f114736d7944580b789c354bd0b73e5c76389561d7127038d1ac0787695ab544e48f7181ce5c4da94757443cd86ddba11825e394d0c7b724d5acb92066a94dd69d3c91dafd13bead24f096218995a858e1dd965bda23fbc164675a12cd876a489dad9ae3a18befc07bf947c3881de88b568ca72e6eb2fcb19765629dfb01c4cc4c1d0fa1f6c625e75fa755f95e365db4e65ace71d24f005de11c5eae80b0132de60c5ad08472f67cc95f3980ecbf8e0c9fa5946ab6af1279bffdf53d1a6ed343259999b2572795aef85601077a6a72854e74d2ac200f06a652e6c525fc4d4d307bb608015d0ac599c274cfb3df2e0cf8d0bc1132312bd5ae4c7fb1a924c404ae5741d2caddc2843f320395a6f87030bc2ff3fc714fb82db04d6e247986902b62e7d76dc0d5e89fa927547955101d599c4e9d3235684e9cbf5b70f3a53c7b5a2c88059b5a498d2efb186bf589b4de4c8f3162f9e660f66098708064479faee7b620edb7d8d0da708ca1fd6f08382c7467a11168a1cad4def5136e29f5419c94a9b275a4c89f7e1496e3352b06bb399695898778027fa74c408d7f112fcbd9cc8c762f03dc5e3d0562675a21460c06556acd7a439395fe5b594c69e9404704bc9a9c54f456adc859f57452ad6c12ec0903b1539d06127f8c20187c45b2975eb18da4665a091513ef5bd14c35e945c2e52843da3b640c01203c69fdd54eb797b63d98ce735ee50c54f256c910db24d5a7884d66dd9aa7951bee52b52d5500a3869b8fcbb28443b4b1a2fb1bbbcd3971e2853d1869b884e01d115e69ffad30f16ad8649957be55a29ee088b411e345f0069919a890f74de0d8a52d484c895ff83567c025baa156c9cbd8022a6e673e2d4737467292d844d6d0e243a5cb040e8931b048cacc8965c051297dd97c6b49b9d4b57660f934d854e1909011fb9c9650b6d313cbd645dbc9aeba4ca9e665fcc4cb12c21940a7ecca776d983dde26f93dbc7a0e858c8b64f243eae439aa85447fb7353ecd8f8df8a2d72489f541a21c5c55d7e6991f6614a9b05027aec4a2a09e78756887c85237649df5e7039e3060951003eba7a32cd0061c46109e91d3d53e2a5bffe8ab56bd27b6ff96bd1028868107481ee5952da747081ec314742a2a8c4da3bd55411e4e8638bab356706f02702343439c7b6b0523c4afe5cfbd6fab2eabf947adfc88ccd9af153a8902b19c396b7036126139289a52dc4f031569045133097356bc9feb8431919a2565e03449e6f1f9e67072cc10e34bdcd0cb4d99692819699b92c4e3282b388b31edcc6836b87244d3e11cf136117435a5d44b082f07f10a1d94e49ae747e4656a7617c83e4f5d8f47516e16e30e59dca1f333040b5c2a4efc869837138302a2b7920e4639e52719cd609aa601bd9054692a96f5ab118e2313aebd11aa39581806b85716fb49b7842ea3c7b73ef66f470257b77d57b99ced25fc8901858060b5ffa47201afd9ce866c32a535472f72afac00c1218ed7e8048202d9287e9c6486bb9e0f75038031ac0932fef219e7eae1fca7b8284fc75ed566c3eae94d004c60b39db3d538d151bd8788fd0e92ba0e377a96c9dd825b1ebb026f87649463f98f5ce5682893b1fd7e1f96870cf3072026f37a5a7349d10f1bfb5a8c2527bd0d9e1c556baecb7052199290c4cec40e73d4c36dfef79a94c3a9a2330c49b920689330e18a283400be032d3bf5ebd218a41ebfd0f1716d720440387578d0918077288ca9a5911b1aa096e14f20248950ca2503e54fc601ad77a1670caa28ba3eeb8c6a38dc58d02071563c92449f0ce56413f33bcb6ad41d3afee3755840fef92cea6220dfe021c74aca77254b7b3b228925f645a0cf95772c3d2dbf763039edf7da5cc56ceacb0af8db22517fedd1f00074d792724496084e145f75c8a5b321a2c16d28d1872eeb002fc3b9927f2cab4a58e8ace8e874d21f7180f1e35ec6a48fc9dd5dd11a3a15d6db014ff04caaa7c7f6abde96eb0d64c83a9710f8c695d97d7cf47e222f1386769845b3a71dc7cb674851814644479f6c566ae0af847dc13513bdfc253df51b5c1320c364d6d0d5b41a84fee0fde290d51349fe95f6f5b9c9ce237f6d955ba5bb87a2eefeb4a07afb1b14736552d209070468e557e46d798cb94b979bd7e6cd17ac67bfc7fa70a20d95c7f0994f982d8ffb47e4e64f77816d63a1dfd50c83d1872dc3d9284a23887f6006c4da7cbe6db4061648899470ac0a0fe146a80b26837d60bc59505e53e5e8300ef750d1adb36411224f67b89b5fde2dcff64996cee93509dad35578561fab33b548bfed592f0630ddcb0fc072e331b33c27656d750b5f2403f0a4587db05a9256c6a22230d266b07996595ff81e2530ca617a0382b1d86f12d3c8d8e8fa732a0648eb24ef993fbbf3c1f5f71c5cf4a11433641fb16373d15353b030f3264dd3a2b1ab8f54afde55638bfc3eacaeb8872eaae079f16d2cedd58fc814f1769fe4c0399a1a3fee8947b01357a040c7cd9907dc19c322e7b898b518c3ed2b3e701d500fea2a085b1febfc0f99bbae7cdc893a5f0fa039886940fd79ef07c58c9fb0be88147a22b8a5be5fc011abd2c13eee5e53c1d4a7d4b1d35fa0b18b2b0e7dabb1b6041e07ef2061414cf06e9daafe8ec9d35b48ca23e619b62ef9f1a8474b869006e6bbf66fb29db0d4195c27b4581163bca1ad5e022afc80c2ed5f07bfa0a82dcba86bea0965ada4fd2a51bd65dd401614b983d1616a56fae99d61f8e17f9fe3ec3b55625a343897d882d75d040e3956d9711bb76d8e821960019b7da48c5a588a57c8f73fd9179ed9b62f42d8208dccef44c03c6dd5032d89eaca0e25cd94a4d132945242b924ff15a4542a36827f6cd9dc8e8435640bce4b5be6e7471a5397b6ca63337551e6566623d63a588b4a4722e5f89467721ab665ec0ad252c5e3db4937528dd29859c25bf4898839ce803d8d65b88a983a3d148e617328f4f4581adc663ba7a51b7e62ae324994f0cf8de66fca685954529a6ec7d0986f4a6169932cda15ab168eb05edd9a49541193a6cc60dd9217f15bff80b53068d865f74f57fe2a726af8946daabb202374b96c385ef4af571b56a2de88808b960bdc42296a0cca11c7c4aa67184ba174218010e742d6bc280ab47458f5377898c2fcbb8a22836286355634006529954c4cc31e95a524e4598f0e826a4bb270030e7ce65a987c9238af5c6252f10e3d5b4db4a792682adab2d4f6ad198a8d57f9dae59498a9f506b41cbd352d860048d33c978277c37d702602b6413e0259ebc2bd8ba7aa049382c6f47e048b13edf5fae3013f6a53a3a6ce3ee62757736fd92c583346da633ba3c2f53621b9a8808630acb8d87a9a9bcfc75c721512d082747a12d5db95da27b9cd6caa82286bfb2483573e7367e568a171ca0ee1699ccacb3ec3746b16cb28c39064c5613060f7dcdbc137f2f8ade6d1290f42c7577462a6836f53a41a0e786d90143e6ad1759f0afaa22657025829e4a8a6b1ba9d0ecadfb2bfc88499fa68ca497fc9c4612864546aaeea6a7d9ba792c11bf94f3e839ebc30c12445a3cf69e09c4427d114e9ef0080b447ebee9d5e73b9d860e2fa2baafe1fd7d7b0eeb63d6c2309e373e972c9532fd4a7ab7e703da417b470b8cd0c748dab941440b582130f2d3484f89f2ce28305deaa8f1d9a3474c2ebd0fab79aba600af1a122a55afd554d91df61f2c6f1ff9abaabd288df7d18bc27b6bb879de5d96e3038f57c44e24bc24c73dd8a3e861882d0b672d07413a3e1efade425d11b8ebadeb8c2d78e3711d9c22ade63c942d6c1deb037aeb8799537c76f8fcd049ba7d7808882d14470ccd935ac73790ba5bdbf160971cf820b1fed4434b90074ab67c790cd07a6f5312a44e2542acb21e988d5999e3c834287448a9ec1bcec79d23df67d285f86804ab9739a57b590e1ecedeb7e146ff6251ab8839b5872210c35f54d28246eaee51310c1b968b2c27475d9adaa7103d944795125ee65b2a43f9bd629833bc812742583bb0b5f96f0c73a700e8bed0111434fed92b42f6bb08bfdffabeba576abe310f8b09258bf3b1904a747a865cb5d38b9963fbc4dad1de7ff5d60c44ea48e3a443aad3fb2d17e4483da4a3c10e60b13251d715a78d95e239b128f0eddc4aaa4e097b9088461049f3ad9f8f6c1080999e7eeba3df170e81a9346e6052acd82c10fb6d7ee00d3b4d1d14d48a231f96c6f651f7763ee5dbd87347dbb4215ec397e99266ab469a842769795f354ec45d62ba471acdebe59717aa1dffa5ff09cbc35a10d4b82a905412a2ac80aeecaf4f56fdbb2a42a028bd8c51072a83faacc31462f76c0ac4c671847b3bbc95de40665fa4d1679a2d0913c9e73d2604862af50914a937492b7628293e1bbe8fc38e767756c49ee4f0e86bf13b65f2b698ae55ec4773f2eab911e1b560b135e5e902e0ca01c5fb9c02dc19d750f681a5429ae40925a4fb01021dfceab2fb208e620f6d2e72b92c24b4aa4dededb27d87899856ce012c6a8554c41384974e567809fb4237583f7c868139e8732d65e9b11a528143f3d264e1ed7badac32b26bce108c8b62bb55d9dde6cf82b75304d31dd507648819c83cae01bce28c8f70f84d38102a9acbfb1133b4773b52ffda707fdcf3a9b7e01feb1b7801c6adfdb385f38357ce5a8ba9817a91506344ba04df9c68be896a9a3da69b91cb56f69ce271e36a12467febc59166742b096d513a4819d1958cffd409c68f45871ed17d066c2d73da644ccaaeaf2fde52080b44ffda7f91f2b2511dfae457749ea704d16d512935669a1e98676fe9b37ba4dbfe00c85f6911789cb4d95bc90df17a8cdd242e0324d67011ad8216be074cec2a5e2db0b647f3f9a1983873dfbfeb13f64672a3abbde643178596cbd34114a6d20c28867e67a0c873263341efb89c0cff01e6c2af8783e9d6735d09b6e980687109479512c470c04e9c6ddc0baae3da4ba590e96e9ad679047ddc572159c31a45027adb581bace36861db3a244c37025c6996145ec41859f0a1912979aa26186d7f6e99d06a623146b74683a7ef64a8fec43ee9a203aa96063091522f8b34477c0863acc3f534d67ee2f3089e45296983d20e19090ea08cc93c4da5dd8bec0aa32ae6af3bef676a1831ea0d8609a61e4574bee2852aad09a474529089886ca697228127f4b3fd1d5c68688d26a94bc6f8fa430d1919050c8ee3f25a34ec7672eb12ae04f225ef570cc33c26310b2e85d967eedbd0059561648763469397cc98a2d159a61db956ebfc4f0310a3d5d6a42cd03058dc66009ae9562a7646615c57853c530eb348807cc0a7f1782b8e839f5978864e1677086329569b9828fba900aafb7b7abd309df04ce6a1f3ede8eeb7eba02c8c72ebd1a7405b66b924a2dfc35fe3e43808222fd20e28ea00cbf8ed4d08e4c65ecaa84fec34da45159495fbc20d58ce9f1e74f537d6451babb606584fcd0da5e2219ed3a0dfb9479bc7203947d34357631d23d4758736aa36d294882a803476844824ae9242672c8b89ce68f6722f2702e567debc023f9419c2beecc5ba68979f02d940096196d60b392da83ded8cf1636ac5cde931d34ac4531e535244f0d67a4bb4086f1a6059bc466107609d6d653cc7971f6ff553291345e1b038b8bb8a13dcd0be9e73262166c74d6e5ca86f12f1c785d130e11a8af8c5be9d0931863d29a20b6fbb373d1a21f09b1d9d32745385e9e65ee12ab019c264ce53d050a93fb9b2203bc10886e1e129ce679e3758ed536efab5b6c41eecdda4b3ed4ae50d7cf49bc55b36d4805bdd167451085c8248804d8ffa3c19ed733777b0f7926e78584ba6b7fd56d338913a05eef0ccb73820984f672895d1587ece8a8ec1e57f35464528f44086b82efc2a4e09f3e0dabf805965e713ed3b8078e196c60cf8052bf79e88b301e329dea5c2dd252dd4938f4458d7eac2242828337a4c9402390de0a0cd9c7ccba5d9d391f61feb66387ab5f3cf38ed9e6231f1f7e4eb816e542e5139b98937fbf1c304bc5895b1dd78421c716d40e118a132dda69ec4eedb06b219a2a8982fab99d569ac2fe78023f558e3ed15cb3f19a5fe6eb6db116a2b51054a9fc4547de0ad2109e744c49c10cb32aa0108bffab8d197a5bb40758452329cfa7e3ff27c5d607a8a2ab4b727997117079f83f674cc96415b542c8eae8c05dad3525c54de406f4dcd2d79f89462a2f18efd239fb5aa86f029eec48a477cbff7139239a5ea27c81ae8b7d72253ec34c88c76dc23a2f7ee89032249d8cd3f0f91cce1c48843ecd943b9db12e3374d586aff03e53e29df6d397a122d08a1f95ff46cf9ecee5a370e49096840aa11422e878d454e5f0bad756e2fb0c0b5942fe38ab1668b62475340b5b3440ea92615434bd3e0aab8cfe5642ca991ff891694e73c5a1b9a9cb0dce7be0a4ad8db5af7e964888e557a135ece0e009ee458fe7023a34840f499ea079adcf631e25732ced9d0c5c2dde966552aeec8daad4f4ef127631547090631198d8f9d914f7d0b72935cf0c803942e14309181d998301a64fb4e7b1b9180fc6262777614e5b2d92c5f76a37d3cd891d8359a74d9026bbcc066df8519eed72576bd398269191eb0ac9b9e6f9553ccbf63b89c5d77cd8c19c5187cc19f6901b141c1d10fadefa8b6310da72a474ed99a7a782b44a5fc1e27d0d1b506237e10ee63a7f6259af5683703d1d2e7ec649cdcbd1086d9f19c31f2cf46b836d2fbdb73c5886ef40451f2e6b4d55128fac8f5e6aef4d25c4d52cae1354a0aa5eea93ece2013a03aa9849ea13f53194c7a20b459dcc14af9ee33f739e2e9af7960ef072c985e868bf954c1de27b2d18367c242d05905eaca5ef12d8e8718a0d65c7c7ced65b453c63dd807a46dd50f748326e2f962521bebe31dfc05b90b4765b1dd5ce59f479fc02f464808b8863d724b2b2400e98dbbcadddc32e385966bfd5e528cad99d16cc9d8448fe4f997fa109d799c52344c7ecd0bcdde3fdf95f909b46997546004ac8dbdc0df304e65661d8d8713f98dd318486e4ef4a909b5053a0b28349d5f699a57e3db1e985831a30c13fd19fbd2b8769c8087e8eb0ddfd981277a0414d7a5655d6a4978196a22893627833f5f4a34ffbd56cc946736cb8be1efed94d7d80adfcb3e34e53a906a6d33b3fcff49010dc938f6bfad27a2a39f30093cf206dd514bc9939171dcedc8c22df02eb985d8b2ef35c153a0fad4b4753743b538a9b98394836cdf59eb82ca0c7b3f12380f025d48ef30cd10b8b33b319af9d65c3c70e5101654dfe97e7e895ac5f9d729b7baaf81f11e9ec731da731ee6955a6c0cf6d3943abc01b1a0f3dfe5801584b223860895c299255a31e1edf173e80fd93609855ef98683f65ff40b1f0a34b0624dc342f703f10c218ea2185e5c536e782c17230ce542c4aa8a3186bf952c5ef98c28412dd4ba40fa9386ae49c15213c1252781b55007b5ebedee8b7e12e49bd3ba45a8203f63528f328a67b7f7dde0450f6eba6e45255e8b9c71c402a6c61ffc1645e7ea08373c2f38cce1d5296a720bc1413fbbfe8a75d5f57995e88363af8a8c5d3954aac977a4d7ce86e4d48ac55c4d075ae85c4a5ce6a38e68a6d6726fabf97953c7377f2dcd746851cdb2c6c23689dfd25b8dca5a15cd83b69cfec0f31587a82b1421d1c12f1fa1571bd526704a203f80ebe3e6c654804a444f854d3b8db3d4b6469ea57a422a7a04d9f88ff4cbe76ea764ff1a3d633cb1ce0e367c0b37d066ec858c3d151fe4d1fe8422820633f08a81b3a5df55e34331a0158425f9f51ad29196025ba837d38e4751a0f5790201502d5a54e45e9d98e38e6445ff70bf6613b30992efd3dba4a7ddadd3fe9fc74180d88a773797529bea2cea2360e319a05c0ef8678e3abbb0b439743ce838da7dcac925bc8b838e0ac200ca2c7898d3b76102f1e682c2cfa2ccc616dd2cf16bc0ee66effcbf695c6421b702b810c2f1575e3c30a291c7198679a9b46fc7f591ba0c90aed933b13c6db06ef107623a190c980fd898c7168bc5b7c2bfcf7d8318f810bf7b43bdd536c2746d68c6494461ace9f7186be862b95867ad0a5270967bd6cb7906e8ae341475aac5f642ebce7d7113de67ba821fc5e81bdb1f7c4c8369f22d28b5eb566c4b425adabddc58536339e9f1a626987e8689e99be4df2896c3f6400ca14f2a29611c9be26c3f7cbd2044aa368dcaef4e01ad120231d01290010c169c34565db3d9bb7e6639da237b5eb03d2629491e0d31d13edebe991e63af7de5de0a87186f4ea0c52f13a4d6e58ac900a7d4fe8bfebcc2d8540923d12e7360dcc77a17e639f5863e3aec728f33ee19d80e34cbe6b2d8c843fe16e2be0ec12a209f6e2aa04a12c2a93fc28d55a7a0b8109445645e3f8dc481d2720e5115a046104b31c06c596f56c06bcc00402b67d6616a6c13ce122d3289f3ccb12c914dff6ac3db29db2b6024a5730dbfd4dd504a01861e63104930de46584ad15d982a78cc988c80087f6d88d21d1c602064821d14126ca490f65ac87a580f247a071c67655fe31fed81eecbfa069d245e339b94d2a6c77061836ba24c7bff322f8c8c1c977bf5e689373743c5308e0fbc64ca23e63173e5a73eb10b4e77d4ac2c6a94c747efab517cbedbddc8d7c5781d8c4214be2ec2d6c67c993815568ca414e44d575460eaa7019071340586a4f4e6ea9b1e044eb5dca8b8772f338b1c3d6fa1251110f8250dfacfc29c4c8bb1cadfc69551a6a1533e9639b43a45a7a32135544010bbd3d0a50f2ed5b015cf2b4fd37d53c3b1324b34a8b822d88125021ec305454cb4f6181864dbef11bbf2f63ccb2077a7ebce79d896b60d6ccc805a400c0a25c6e54d266563d037c1cb938ba255a3b0e194215deab97b317a1a1fe9a21ce73bc92bd90db476ab366077287af58147730fbf92d44d035d0f9e44984bfe3dbb430faa4f7f3aa84d382bf5c165b8346d3637f53810d209dd62908e85673656c3517c5687723b70b6f924b24fe9b0516e6f24afafb23b2fbb1bbfc4cd171e05281b23524b91aa7a9866d504c65ee524e27143145a8b8c451d718dbdb1ac12041f9034cc45a19c4688f39f2e80e94bb0e400ecd645335dd0564e53a0e00d33bdb70698a38d6ac6e48cdfee4a2db7555ae0d33553e9d8c5635e31de1af1d37107a208a9b8b9307411cb949226f981f1479fb2374d7df3fe8062d1907e9605c616fc0cded1cbc5c686df089e17400a2430b75dcc84796efcde025bc7fcf9c5eb895a0cbb311b7bb5ac9e8f474781f395dbf46798f56b3927d1f560daaa28568b29b1320a552ed3f355ab228a785c63db59569bb042fda87828c5e965890c978099efc676a268301e50f7348ebb83f76e9e7e46b4c6496e49d26d3649f556815fa39df13afd9387490b2a600496e1a7d6bb765813722d51f6966afbfafe53f5ed532dbae586252be2291ab3bc2ac6ec2fe4135abeb840a56329e32e6708c0b4b043a5844621f4ff38926156a61b0045c28d01c030d084967a3363a637b5422ebfa068e4b0a23f474de8b6dfbaa249d542f97b20aab28f3eb587d9808705fb27c6e08de0c19ea11ea091c594b0b4849f24af9bafab5d64a2f147bdbe09bb1b96423750f01beeefdb8cc5016cf8fb48b01a10793bc2384cbddd2f281fde779feeb0eb926db867c9f2207ff92288a9bdb42fa2aa07b1934696944221193404df797c87ce5c6a2cdcc7200d02180a5c51904312a01b2a89fe6f6f2f9e00a93f39be5904ed3c85714829d0788432a55e7cffcc0bece96d9599f76119b286ddec12ad0d0c22b86f94571b5d266f6212ee0fe94d5f6e2e21d989e2bd92edeb30ff4bab725366bd661eadf9997c94db53405cc4260fe374e4398f27a98a4e78355ab12d8bf7df0dc93f6ad8622931ec8be7f635b9d902e0155d5575736f55379f30c93951e7460a695281f29cfd4ee7d7fbfe7247d3c74522a090e3a3c38806849345497df9c05aaa997d968d83c9b4bb9f9ed0f9e0a78cdc46cdfd41d4b9aee067f7843aa0e70741b91bf36cf1b23f48f422127133d63f583009c076bc2878f89a469147c1344f258eda1ebddec6f27565744d26ae87565328a94523dc11aeb1606a36b2d53a082a37e44729f1dca73b4b2516a0df1e92eb31d2b3ab5f33656d4e55d60194336fccb0c9d3504962c5c1ed50c05bed62a12645138e1aa99d7443c2b8a3428832e6ed80ccc97e46e6b18eb2541b2b55da7867630b2195dc851de6c7275f7a618aa0f9541c957f28495d4458569cac1e066ca97fcec7ee568ef21e2a5632acb6c47b2dbcc32aca7a42c34bc8c9075a3d9bb1cc5f3f3b499ffd6020f0dbf181e1fdd5dac3d19ae0c32f13bf756f41ca719869444c2ffe90b4406c20667ebff2a83259a434bba0b5ff0352f8eb8fbc5e86732488b30fd1bc0ed24c18655db21eedb80845b24e055608d1db757bcea302159a9d6f2e8d7a8155d691f61fb6e5898415cfe6aa3f132f801938df8a60f74490737ccd981f2f6313fdc5d6526d945ea39cfd67bf8f3ebc5b2e1598544fd31c4d128e377d78bd9e8c968dcd4e7324b9644815593f00ced303b299d8abf99a40edf46d36ad74b6ddbb8bb2a503500b789f278cd7f561d23f7222a1f1e74d0ad84c4c8973b406ab62ad5ce9dc4616d96625783e87812cf25b9de56b746627f2bed24f0b00bb74f6a8e34e4e0dcbbf781dcfae83ab6cea13ab953194e4b5d963f74b9a2f5bc4bfafee3442949bc8d8e64b6cc13558ad01d5569d8996797662b400ed71858a81dff64ce4b165015c8ce66b68e6c0c54892a8ec65fba7b6d3cfe2ab33377a4a6d35e96e5eda4d42fb4e301e879ffa04728d19eb7271a6d944eaa2987c35cd987b28500f9c56d3151fe55439e86a437d09771e08cb0c09646247446c7492f889e9b24372387cb1380db9b19972225da1987c415dea168fe82c2f908e202bd573817accce80d0d769d4f891cbdb16c8bb2b059ef3fee05dbe1e2e73f9800a534bd6c1f19bb7996f502d38f967c89eb0265c95dc95a68c04e940db5d7d4d2cd36b3d2558262ecf612be93665c645ad80fff33cce4e25950879c02d2f419fcd310c5c70c900579252d0d88924bd986f20e6447a376d8b2c93e92258808e4672ffa9de84926d40a1976f6176ef2694d7e3ff29eeeca0d053585b87820cdd0c2665425d24704e84d438ac0b1b995c7ee26a2bcc231fa8894c55c43bc6b258ed930c69cc966bd560e0716fcfa5b0f88ad7bbd9be9ae0936bc636f74186952c24a501eccd3c51846e751aca85c2ea1cde839e7f16c0df3228844ea1fab44248f5aa7d4074a1575c378455ff3d94d826e8eac11b44159a2b1228f805a795d1b8d88cd697e59ec93305a054c6abb09e09fbedc85507651c5d8584d59b1df2284c09a8d3e6d3dac58b93cd780306230a3042403103369bf965cbccad0a8015830966619614345ccc1e8b7048cabb0f79515eef898ac01ec344b51c41c14e04caee96159c53319babe61b62077a52a25043e69f3e45b5a4e03c683fb6a70bbcbef1df2feec551cb3de4dc52b97f72f3e656885967f08bd9a2b7b5f7f45061996884c88ec4decd61e220bdc9d41fa583702291ee74557ccf5e93706927acbe0b2246eba68001d2b23565166767de0709b4d1aa8e39ae05633aef69b2176d412b16f9a82fba26e6250e7b7838d63d967ab530494057a785a8510cd4ab8c3510a9cf0c76a25ff8fbfda332bd47f085d5ad1e9caea5cdeffc93ebe33bab9ae1b5ea84b596448b70b6200e00ebfca58d794e125f0786ccabbf2cc978ca68ac5d2396f02742415cf7bc72cc81f8c532be966ac2517979c7ac6a5e6b4a9da1ba92d2a0ce1086e703de988425fbd103b55e3e91c555f7fc2e7f277dc868a351acbaee5e8500551520d8cdcf0725e9da95e47b9ce13101a455bd4b86c0546d3f1aa7c6205e2b29e6975ecd05a1256f93a727cef5d249c0702328ae11573b185727b09cdaa27fab744e076b40bdb156e9daf5767fd10b06f071b51239d0af44f9caf5cf6e7ee950710e8e66287bcb60498d0d21e803e841dd5b28a84492acb6179648aaaf0e3f3cb01bd89ecc60073041f5bbbe813ed69c293d3c57e12a665c3bab032cb70ed12f2b5cb6ef7a50e3646d3fa6da9ce0007eee4e566e1aece95a703ed46c1c7595fc268f4756b5ac6db4de0312515c550a65700a1547dfb2d8dd396ccc3dce5f2cf133d40bf1721ed7977c9a7123cb8643c66f3f5abc4285e8dd66ba3a3d06d2e9f61bf748421a34631282b8f6dcb336a21872b30fe7e76c6823007f6f267d89e055d85e68ab0e6766e786f635c59c54c983f72aaa6ae34838d88bb1fb6559fc80f8b6e4a13c2c962d62ba1bd0b58da1f7c9f01b3dde64b12de94cb34a6409fcd0a3fdac49b22b5a6a485914abf970d449135689b0ad7d414d7ba9009d4cdc610c80fd6001c563174b821cc45ee36c1c3cb2bc894815919667910bb0c1a6a4f801c56526d95003c4d63ed5c96009c26cbbf405ffa043c5384f648b3729a10a64934e92b5080c719b6ddc1b6af05d23c9fe57c46bbe51c65ebf371821addf2c5d9acb1b549a2d3f01f064d9b3b68544720e29c3d8e9fb5344c5c50f6b20dd6ae6c99e85c3dad5a6814f79a6004ed1c319593acf50d7d29045c08df3a96d661fa2b4c3718a6d1a1dfcb91e4497b00cdcc3a90a7b382d17729d07f1f108dbae7b7d560686c18584f5bc48b2914c7b6d5c306bdd8c75fba3ba492a0c3cc2fff8f1ce17bb304f115f23ef6c13c614cd132982daf0ff9c18736d4c2ed4c0dd1e509aa4e85fa499f58798b23051fc3063b6cb977d9973c85bbb8a66f8a2ab14fe1ac57a305888d993c3f47b35d915c02c06175eeaad30d3e8419a22adcf3cc0f80bccfa12c17b6ec221cccbf731b8579c3e732ae00aed1d235d6172417651be40b55b7e47c39e28b2638e4d410c7a6daa6d6be196ccd226d78dbdac298b3ddb199af88586c0bf40fdbc888463e4a86ec4054b7d75c76be536358b6643c6af1035b44f4b2b23bc18434bfdad3c5715dff6762bd592e0b8392779972df8c3cd5ebc861090b3dfaf51110535ca0f4c7c5385a7db28cb5d7f626d3999a652112920836c033bf5b269680d50b439d49d8e0c52bd611a8ed133302774fe60f8d18b036edf5097cd4bbdb1889e983f00a47f9b1474c684d3582e860c5160b25bc3524bf542c76032e163433ad5255478a46d220eff4a5e94d68addc7fe8930402d115d525a6c2d7e132e489c210c97f76148e62cd4555336820a8853d84e7a43f745c0cbf9f27fcf5e24d5782bbfd54c61d85cf51a3cb0197fcff284f417be9adcbe407f19c0f0064a2d2b2a430740bbb1637a197b622e8b8a9659eb38b848d86c4616e70c0739866e05d3f91d93a879c9db6b4be2c3811147f9c23ceda1df52fc6313085ff4ae37542cd91b126f117682e5665138328ccfc46db300525c964c3235be34c6c18d8cbfbcf053bf32b1fdd0af9088e33dcf1fb8172d8f003afa622907f27bd8e0c6293d9f1e6df802e91d6fc61f34ce589179b66fa9a30ad730367dbaa06bd83e7d87f42d4107014bb545af49bd030d29a15e4c863faf797cbd290de49d9d289b84fd0d22da9c98d226a5278c78e068d6c12be66a30586162cdab769f56303dd9d936a6b625659390736147495578e5c8e78fe6d5febb9260e95a892e7f29a70c9781a3222ba3771948bca746c9d40cbcfdaa4ea6ea6da71cbaf18fbccce5976775c28d152f9704a7a3add9765319989ffe46c677767ab43571475bf1dc4745dd4da48e23b213edbec66bb908be733736412df560a4c58898b7ffd2bdc8389beda0e31ba944945ba195524415615c2cbd76737cce9129c658e33e0758ae2daaa9cc7393fe598fc04efb25d1438ded8bbc2ef5b911969227095fb1e02b360b4d68e5683d5ba02fe6e12bf4424740deafd6d21e0055d819800d39e686049ae7973121a40ee3392ce31eda157eb4166dc3744448eea480a568ed98a89104aaef33826e1722e8864377ce55108d55e2019531c0b02933ddf24adb719da7807783c8f28d5f5dd615af2770861a2043a5624ac4be43a48941c5ddcbddab789f264d29255c704c5c4218eeb1693d02622bdc90a7e20f37e3526a7dc4009eafba86ac7c9cc4f39a05ed1d46dbe3a7700c700226162c7eca0f94daff92002a973abcdef4c7950010fe1ce734e5bf7d280b918983ba08df40178b74c1fa212072d51ae3bdceead6ed085a1c184a1a614f5a1afa912868a1d3f877752ffc033a892d5d1b03113e4769279a70fb44e6a15b9041c7b65c31d547ef5629478a92253e8b462a727ff91aeba1960a8b2fcf7733833cbc39864b696d0aa7f072ba2cf4524af4eb3ba34be3092aacf039c424fb62c49bee4dabed715bd95a739e7ab99e3a348ac135cdd7cdbc065e589b98645bc8bc4b9beb8f6474086a0ce2c1b03c9c43cc1156cf73ff1eb7b1502aaf54439f69d0067ce68374e72ad29c19b3db35b668d85bcfee01e1319a7328806701d0fe1bb10e1eb2110ed375d0244e1b96237413774dd716e7e17b3cb2df616cf2bf26fbf66ad91f192c3908d41e0a504b8099246c951f1346ddb77cc3ef8126d81bb17dcf73a89d948b62d3c5b9a6cf85b3e74ad599f093a00322e8791c49ae27a9effc8454359636a37aede2821eb300913ac30d69d6d8439dfb55ea1592db0e5885b4773abc81fd26c6e4a3d4d42ae00a9bdd13a55b1c24a5b6af420d8442f94982d59c91ee6ee5bb4e6264845373739bde516d352d0f03b15ec2de533210e94e9befbd4416d074afaaa25cc9cf365da7d621d3a24a3203c294e99e91336d3b1286fae3684058e262c3061e667cb0347592a66e00084d4740a206295e7f632408bc8ed688ef6659532c76d84f2114c85c62c8dd1eee1af77a076e1f6e9785c8efde63f3a3049481b8c775698782c9db6a3412ab27b845efd490a5c431629e66ffa2873034352a7171791e1c3d808dd25bb26c273eb74aa040018b43c71db8b39fdcbcb8578e3b38c1b3cd535800e05ceb3d2c5712a3e5d0cd991b845e7fc8cf647befe0d3e1fa9f4761994a6367e539e4db1486b1e435213264655a21a642b699073ae25b9ef7730a2380451646b6c216bd81de0c4413a026647dea8e8cc066c79cd43ee24191b33057ab7ab8be6d838b35be40ae64b65d68c52cd7126e90588c895f110f20b63bc97b535679eff75b11b2057023d24db26f9355341fdda2f66ea8b1e1f8171f029c0f13394b8006ff5b2fa6cd7da318737759f12b15b4d052071ff5e4b13346d85dc8e1a0bbfdbcf41432641bc89ebabcb39245cae0f28ef622cc554f15bd4ced8ef2e56cfa754abe3fb060bb0bee0a54d5023f4fd09f74e39e6375bcd76c4b1eb8103d7c7c05fa8f54ff8ffb5ad8b3e6a85f01b48c5861b5d15058308faf0ae3ab67b9593ace01b8d847ae2a18796f33b844598f</script>
  <div class="hbe hbe-content">
    <div class="hbe hbe-input hbe-input-default">
      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">
      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">
        <span class="hbe hbe-input-label-content hbe-input-label-content-default">Hey, password is required here.</span>
      </label>
    </div>
  </div>
</div>
<script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">
    </div>

    
    
    

      <footer class="post-footer">
          <div class="post-tags">
              <a href="/tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" rel="tag"># 设计模式</a>
          </div>

        


        
    <div class="post-nav">
      <div class="post-nav-item">
    <a href="/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/09.%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F/" rel="prev" title="09.工厂模式">
      <i class="fa fa-chevron-left"></i> 09.工厂模式
    </a></div>
      <div class="post-nav-item">
    <a href="/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/19.%E8%A7%82%E5%AF%9F%E8%80%85%E6%A8%A1%E5%BC%8F/" rel="next" title="19.观察者模式">
      19.观察者模式 <i class="fa fa-chevron-right"></i>
    </a></div>
    </div>
      </footer>
    
  </article>
  
  
  



          </div>
          

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
  <p class="site-author-name" itemprop="name">zhengyidi</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">39</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">5</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">7</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>
  <div class="links-of-author motion-element">
      <span class="links-of-author-item">
        <a href="https://github.com/zhengyidi" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;zhengyidi" rel="noopener" target="_blank"><i class="fa fa-fw fa-github"></i>GitHub</a>
      </span>
      <span class="links-of-author-item">
        <a href="mailto:zhengyidi1357@gmail.com" title="Contact Me → mailto:zhengyidi1357@gmail.com" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>Contact Me</a>
      </span>
  </div>



      </div>
        <div class="back-to-top motion-element">
          <i class="fa fa-arrow-up"></i>
          <span>0%</span>
        </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2021</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">zhengyidi</span>
</div>

        








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>
  <script src="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  




  
<script src="/js/local-search.js"></script>













  

  

</body>
</html>
<!-- 页面点击小红心 -->
<!-- <script type="text/javascript" src="/js/love.js"></script> -->
<!-- 鼠标悬浮 -->
<script type="text/javascript" src="/js/mouse-float.js"></script>

<!-- 鼠标点击爆炸效果 -->
<canvas class="fireworks" style="position: fixed;left: 0;top: 0;z-index: 1; pointer-events: none;" ></canvas> 
<script type="text/javascript" src="/js/fireworks/anime.min.js"></script> 
<script type="text/javascript" src="/js/fireworks/fireworks.js"></script>
